mybatis 查询结果集为map要怎做
时间: 2024-05-09 21:19:12 浏览: 76
在使用MyBatis进行查询时,如果希望将结果集封装为Map类型,可以使用以下两种方式:
1. 使用Map作为返回值类型
在Mapper.xml中,可以将查询结果集的每一行数据封装为一个Map对象,其中Map的key为列名,value为该列对应的值。示例代码如下:
```
<select id="selectUserMap" resultType="java.util.Map">
select * from user where id = #{id}
</select>
```
在Java代码中,调用Mapper接口的方法时,返回值类型为Map即可:
```
Map<String, Object> userMap = userMapper.selectUserMap(1);
```
2. 使用@MapKey注解
在Mapper.xml中,可以使用@MapKey注解指定一个列名,将查询结果集中该列对应的值作为Map的key,整个Map的value为查询结果集中的一个对象。示例代码如下:
```
<select id="selectUsersMap" resultType="java.util.Map">
select * from user
</select>
```
在Java代码中,调用Mapper接口的方法时,返回值类型为Map即可。但需要注意的是,此时返回的Map中的value类型为查询结果集中的对象类型,Map的key为指定的列名对应的值。示例代码如下:
```
@MapKey("id")
Map<Integer, User> usersMap = userMapper.selectUsersMap();
```
阅读全文