resultMap自定义映射---8.3.1. 解决列名(表中的字段名称)和实体类中的属性名不一致...

1.1.1.1.      步骤一:将驼峰匹配注释掉 --------------测试完成后仍然 回来开启  其他地方可能用到

一旦注释掉驼峰匹配,那么再通过queryUserById查询的结果中,用户名就无法封装了,此时我们可以尝试使用ResultMap来解决这个问题。

 

 

1.1.1.2.      步骤二:在UserMapper.xml中配置resultMap

<!--

       resultMap标签:可以自己配置对象属性和表字段的映射(不仅仅是驼峰规则的映射)

       type属性:结果集的封装类型

       id属性:唯一标识

       autoMapping属性:如果不配置,默认为true。对其他属性进行自动映射。

     -->

    <resultMap type="User" id="userResultMap" autoMapping="true">

       <!-- id标签:配置主键映射,column:表中的字段名称,property:属性名称 -->

       <id column="id" property="id"/>

       <!-- 可以用来配置普通类型字段和属性映射(非复杂类型) -->

       <result column="user_name" property="userName"/>

    </resultMap>

  

1.1.1.3.      步骤三:在statement中引用自定义resultMap

   <!--

       select:查询的statement,用来编写查询语句。

       id:语句的唯一标识,使用动态代理之后,必须和mapper接口中的方法名称一致。

       resultType:配置返回的结果集类型

       parameterType:参数类型,可以省略。

     -->

  <!-- resultMap:引用自定义结果集的唯一标识 -->

  <select id="queryUserById" resultMap="userResultMap">

    select * from tb_user where id = #{id}

  </select>

测试无误

注意:测试完记得将驼峰命名的配置重新开启,因为其他的测试方法还要用。

转载于:https://www.cnblogs.com/yirgaMonkey/p/9219742.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值