当我们需要将多个数据 存放在一个HashMap中的时候 我们就可以使用@MapKey注解。
<select id="queryStudentsByHashMap" resultType="HashMap">
select sno "no", sname "name" from student
</select>
@MapKey("no")
HashMap<Integer,Student>queryStudentsByHashMap();
// 查询多个学生的并存放在HashMap中
public static void queryStudentsByHashMap() throws IOException {
Reader reader = Resources.getResourceAsReader("config.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
SqlSession session = sqlSessionFactory.openSession();
/* 1.实现接口
* 2.然后接口文件的名称 与 xml中的namespace形成映射 自动绑定配置
*/
StudentMapper studentmapper = session.getMapper(StudentMapper.class);
HashMap<Integer,Student> map= studentmapper.queryStudentsByHashMap();
//map 遍历
for (Map.Entry<Integer, Student> entry : map.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
session.close();
}
结果: