首页 > 其他 > 详细

4.Mybatis的ResultMap

时间:2020-02-12 09:26:37      阅读:69      评论:0      收藏:0      [点我收藏+]

一.ResultMap

  • 要解决的问题:属性名和字段名不一致

1.案例:查询为null的问题

数据库:

技术分享图片

 

实体类:

技术分享图片

结果:password=‘null‘

技术分享图片

2.解决方案

(1)方案一:为列名指定别名 , 别名和java实体类的属性名一致 . pwd as password 

1 <!--根据ID查询用户-->
2 <select id="getUserById" parameterType="int" resultType="User">
3   select id,name,pwd as password from mybatis.user where id=#{id}
4 </select>

(2)方案二:使用结果集映射->ResultMap (推荐使用)

  • 添加一个resultMap标签,配置column为数据库中列名,property为实体类中属性名的对应关系,相同的可省略
  • 将resultType改为resultMap,并将值赋为UserMap
 1 <resultMap id="UserMap" type="User">
 2     <!-- column是数据库表的列名 , property是对应实体类的属性名 -->
 3     <!--<id column="id" property="id"/>-->
 4     <!--<result column="name" property="name"/>-->
 5     <result column="pwd" property="password"/>
 6 </resultMap>
 7 
 8 <!--根据ID查询用户-->
 9 <select id="getUserById" parameterType="int" resultMap="UserMap">
10   select * from mybatis.user where id=#{id}
11 </select>

技术分享图片

3.resultMap中还有大量的属性之后再研究

 

4.Mybatis的ResultMap

原文:https://www.cnblogs.com/zhihaospace/p/12297579.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!