解决方法属性名和数组库字段名不一致的问题(重要)

声明

本文为其他博主文章总结,仅用作个人学习,特此声明

参考文章链接

(3条消息) 狂神说 | Mybatis完整版笔记_小七rrrrr的博客-CSDN博客_狂神说mybatis笔记

解决方法属性名和数组库字段名不一致的问题

1.问题

数据库中的字段

新建一个项目,拷贝之前的,测试实体类字段不一致

出现了问题

原理如下

select * from mybatis.users where id = #{id}
select id,name,pwd from mybatis.uers where id = #{id}

解决方法:起别名

这个方法简单且有效,但很多情况下不实用

我们再学习另一种方法:使用结果集映射


2.resultMap结果集映射

结果集映射说白了就是将数据库中的列 ----> 实体类中的属性字段

原理就是实现以下这种对应关系来解决我们的问题

id name pwd
id name password
<!--结果集映射-->
<resultMap id="UserMap" type="User">
    <!--column 数据库中的字段 property 实体类中的属性-->
    <result column="id" property="id"></result>
    <result column="name" property="name"></result>
    <result column="pwd" property="password"></result>
</resultMap>

<select id = "getUserById" resultMap="UserMap">
    select * from mybatis.users where id = #{id}
    <!--select id,name,pwd as password from mybatis.users where id = #{id}-->
</select>


  • resultMap 元素是 MyBatis 中最重要最强大的元素

  • 对于简单的语句根本不需要配置显式的结果映射,而对于复杂一点的语句只需要描述它们的关系就行了。

  • ResultMap 最优秀的地方在于,虽然你已经对它相当了解了,但是根本就不需要显式地用到他们
posted @   无关风月7707  阅读(63)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示