5.解决属性名和字段名不一致的问题(ResultMap结果集映射)
5.解决属性名和字段名不一致的问题(ResultMap结果集映射)
5.1问题
数据库中的字段
新建一个项目,拷贝之前的,测试实体类字段不一致的情况
public class User {
public int id;
public String name;
public String password;
}
测试出现问题:
//select * from mybatis.user where id = 1
//类型处理器
//select id,name,pwd from mybatis.user where id = 1
解决方法:
- 起别名
<select id="getUserById" parameterType="int" resultType="com.itxiaofei.pojo.User">
<!--select * from mybatis.user where id = 1-->
select id,name,**pwd as password** from mybatis.user where id = 1
</select>
ResultMap(结果集映射)
- ResultMap元素是 MyBatis 中最重要最强大的元素。
- ResultMap 的设计思想是,对简单的语句做到零配置,对于复杂一点的语句,只需要描述语句之间的关系就行了。
- ResultMap最优秀的地方在于,虽然你已经对他相当的了解了,但是根本不需要显示的用到他们。例如:数据库字段名与属性名一致的情况下,可以不用写,只写不一样的
- 如果世界总是这么简单就好了