本文主要是介绍解决属性名和字段名不一致的问题 resultMap(重点),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.问题
数据库中的字段:
新建一个项目,拷贝之前的,测试实体类字段不一致的情况!
public class User {private int id;private String name;private String password;
}
测试出现问题:
// select * from mybatis.user where id = #{id}
//类型处理器
// select id,name,pwd from mybatis.user where id = #{id}
解决方法:
-
起别名(as password)
<select id="getUserById" parameterType="int" resultType="com.kuang.pojo.User">select id,name,pwd as password from mybatis.user where id = #{id}</select>
2.resultMap
结果集映射
id name pwd 数据库里的字段
id name password 实体类里的字段
<!--结果集映射--><resultMap id="UserMap" type="User"><!--column对应数据库中的字段 property对应实体类中的属性--><result column="id" property="id"/><result column="name" property="name"/><result column="pwd" property="password"/></resultMap><select id="getUserById" resultMap="UserMap">select * from mybatis.user where id = #{id}</select>
column就是列的意思(对应数据库中的字段)
resultMap
元素是 MyBatis 中最重要最强大的元素。- ResultMap 的设计思想是,对简单的语句做到零配置,对于复杂一点的语句,只需要描述语句之间的关系就行了。
- ResultMap最优秀的地方在于,虽然你已经对它相当了解了,但是根本就不需要显示地用到他们。
- 如果这个世界总是这么简单就好了。
这篇关于解决属性名和字段名不一致的问题 resultMap(重点)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!