查询多条数据为map集合
方式1(用的较多)
- 将表中的数据以map集合的方式查询,一条数据对应一个map;若有多条数据,就会产生多个map集合,此时可以将这些map放在一个list集合中获取
方式2
- 将表中的数据以map集合的方式查询,一条数据对应一个map;若有多条数据,就会产生多个map集合,并且最终要以一个map的方式返回数据,此时需要通过@MapKey注解设置map集合的键,可以将查询的某个字段的值作为map的键,值是每条数据所对应的map集合
SelectMapper 接口
public interface SelectMapper {
/**
* 查询所有的用户信息为map集合
* @return
*/
//List<Map<String,Object>> getAllUserToMap();
@MapKey("id")
Map<String,Object> getAllUserToMap();
}
MyBatis的映射文件 SelectMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.atguigu.mybatis.mapper.SelectMapper">
<!--Map<String,Object> getAllUserToMap();-->
<select id="getAllUserToMap" resultType="map">
select * from t_user
</select>
</mapper>
测试
public class SelectMapperTest {
@Test
public void testGetAllUserToMap(){
SqlSession sqlSession = SqlSessionUtil.getSqlSession();
SelectMapper mapper = sqlSession.getMapper(SelectMapper.class);
// List<Map<String, Object>> list = mapper.getAllUserToMap();
// System.out.println(list);
Map<String, Object> map = mapper.getAllUserToMap();
System.out.println(map);
}
}
方式一

方式二
