ResultMap结果集映射
属性名和字段不一致问题
如果先将实体类中的pwd修改为password
之后进行查找
发现结果password这一栏一直为null
原因是我们修改实体类之后但是在标签中的sql语句的查找还没有改变
数据库中是是pwd,所以类型处理器不认识password所以就查找不到数据库中的值
解决方法
1、起别名修改sql
2、使用ResultMap结果集映射
<select id="getUserById" resultMap="UserMap" >
select * from mybatis.user where id = #{id}
</select>
<!--结果集映射-->
<resultMap id="UserMap" type="User">
<!--column是数据库中的字段,property实体中的属性
column是数据库中每个列的列名 后面的的property对应实体类里面的每个属性-->
<result column="id" property="id"/>
<result column="name" property="name"/>
<result column="pwd" property="password"/>
</resultMap>
- resultMap 元素是 MyBatis 中最重要最强大的元素
- ResultMap 的设计思想是,对简单的语句做到零配置,对于复杂一点的语句,只需要描述语句之间的关系就行了。
- ResultMap 的优秀之处——你完全可以不用显式地配置它们,可以只转不匹配的字段。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/152895.html