一、 问题
-
数据库中的字段
-
新建一个项目,拷贝之前的,测试实体类字段不一致的情况
public class User { private int id; private String name; private String password; }
-
测试出现问题
// select * from mybatis.user
二. 解决方法:
方法1. 起别名(不推荐)
-
<select id="getUserList" resultType="user"> select id, name, pwd as password from mybatis.user </select>
2、方法2. 使用resultMap
-
结果集映射
id name pwd id name password
<!--结果集映射--> <resultMap id="UserMap" type="User"> <!--映射--> <!--数据库和实体类相对应的字段可以不写出来--> <!--column: 数据库中的列; property: 实体类中的属性 --> <result column="pwd" property="password"/> </resultMap> <select id="getUserList" resultMap="UserMap"> select * from mybatis.user </select>
-
说明
resultMap
元素是 MyBatis 中最重要最强大的元素- ResultMap 的设计思想是,对于简单的语句根本不需要配置显式的结果映射,而对于复杂一点的语句只需要描述它们的关系就行了。
ResultMap
最优秀的地方在于,虽然你已经对它相当了解了,但是根本就不需要显式地用到他们。- 如果世界总是这么简单就好了。
说明:
- 本文参考了狂神的Mybatis的课件
- 课程链接