MyBatis 处理字段和属性的映射关系的三种方式

  • t_emp字段:
    在这里插入图片描述
  • Emp属性:
    在这里插入图片描述
  • 查询方法:
    Emp getEmpByEmpId(@Param("empId") Integer empId);

MySQL字段:“_”
Java属性是驼峰命名
二者明显无法对应,因此在mapper中无法有效建立字段和属性的映射

处理字段和属性的映射关系的方式

1.通过别名设置匹配关系

通过MySQL的别名特性,在mapper中处理映射关系。

<select id="getEmpByEmpId" resultType="Emp">
        SELECT * FROM t_emp WHERE emp_id = #{empId};
</select>

2.配置config文件mapUnderscoreToCamelCase

直接在配置文件中设置映射关系,无需修改mapper。

<settings>
        <!--将下划线映射为驼峰。emp_name 转换为 empName-->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>

3.resultMap处理字段和属性的映射关系

在mapper中通过resultMap自定义映射。

<!--设置自定义映射关系-->
<resultMap id="empResultMap" type="Emp">
    <id column="emp_id" property="empId"></id>
    <result column="emp_name" property="empName"></result>
    <result column="age" property="age"></result>
    <result column="gender" property="gender"></result>
</resultMap>

<select id="getEmpByEmpId" resultMap="empResultMap">
    SELECT * FROM t_emp WHERE emp_id = #{empId};
</select>
/*
resultMap:设置自定义映射
属性:
	id:表示自定义映射的唯一标识
	type:查询的数据要映射的实体类的类型
	
	子标签:
		id:设置主键的映射关系
		result:设置普通字段的映射关系
		association:设置多对一的映射关系
		collection:设置一对多的映射关系
	子标签属性:
		property:设置映射关系中实体类中的属性名
		column:设置映射关系中表中的字段名
*/
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值