欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Mybatis解决属性名和字段名不一致的问题

程序员文章站 2022-07-14 17:08:00
...

新建一个项目,拷贝之前的,测试实体类字段不一致的情况,如:数据库中的字段是username,实体类的字段是user,在执行查询的时候就会返回user=null

解决办法:

  • 起别名
<select id="getUserById" resultType="com.superman.pojo.User" parameterType="int">
    select id,birthday,sex,address,username as user from mybatis.user where id=#{id};
</select>
  • 使用resulrMap
实体类中的属性  id username password
数据库中的字段  id name     password 

<!--结果集映射-->
<!--id就是resultMap使用的id,type就是返回的实体类-->
<resultMap id="UserMap" type="User">
    <!--column就是数据库中对应的字段,property就是实体类中的属性-->
    <!--如果只是要对应实体类的一个属性与数据库中的一个字段,只需要写出需要对应的那一个即可。-->
    <result column="id" property="id"/>
    <result column="username" property="name"/>
    <result column="birthday" property="birthday"/>
    <result column="address" property="address"/>
    <result column="sex" property="sex"/>
</resultMap>
  • resuleMap元素是mybatis中最重要最强大的元素
  • resultmap的设计思想是,对于简单的语句根本不需要配置显式的结果映射,而对于复杂一点的语句- 只需要描述他们的关系就好了
  • resultmap最优秀的地方在于,虽然你已经对它相当了解了,但是根本就不需要显式的用到
  • 如果世界总是这么简单就好了
相关标签: JAVA笔记