如果我们遇到 数据库表属性和 代码中的变量名不一致 的时候我们就可以使用Map来返回值
例如
我们数据库中 属性为ID 而我们的变量名为 no
这时我们 按普通的查询就会出错;
于是 便有和HashMap 来解决这一问题:
xml中的配置
<!-- 返回HashMap -->
<select id="queryStudentByHashMap" resultType="HashMap">
select id "no", name "name" from person
</select>
我们需要注意的是此时 我们只需要 跟 id 起别名 为 no 即可。底层会自动识别
实现接口:
List<HashMap<String,Object>> queryStudentByHashMap();
测试:
// Hashmap 查学生
public static void queryStudentByHashMap() 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 只能存储一个对象 的多个属性 所以要加list集合
List<HashMap<String,Object>> students = studentmapper.queryStudentByHashMap();
System.err.println(students);
session.close();
}
结果: