MyBatis 查询 返回值为HashMap 类型 的数据。-- 也可以处理 (数据库表属性 和 变量名不一致的情况)

如果我们遇到 数据库表属性和 代码中的变量名不一致 的时候我们就可以使用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();
  }

结果:

发布了69 篇原创文章 · 获赞 5 · 访问量 2221

猜你喜欢

转载自blog.csdn.net/qq_42139889/article/details/103338206