MyBatis字段名和属性名不一致的解决方法
作者:zjw_rp 发布时间:2022-12-15 18:15:22
标签:MyBatis,字段名,属性名
1. 字段取别名,和属性名保持一致
映射文件
<mapper namespace="com.atguigu.mybatis.mapper.EmpMapper">
<!-- 字段名跟属性名不一致情况下,如何处理映射关系-->
<!-- Emp getEmpById(@Param("empId") Integer empId);-->
<select id="getEmpById" resultType="Emp">
<!--方式一:给字段起别名,和属性名保持一致-->
select emp_id empId,emp_name empName,age,gender from t_emp where emp_id=#{empId}
</select>
</mapper>
2. 使用全局配置处理字段名和属性名不一致
当字段符合mysql要求,使用_线,而符合java的要求使用驼峰,
可以在mybatis核心配置设置一个全局配置,可以自动将下划线映射为驼峰。
<setting name="mapUnderscoreToCamelCase" value="true"/>
①核心配置文件
<!-- 设置全局配置 将下划线映射为驼峰 -->
<!--emp_id-empId; emp_Name-empName -->
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
②映射文件
<select id="getEmpById" resultType="Emp">
select * from t_emp where emp_id=#{empId}
</select>
3. 使用自定义映射resultMap处理字段名和属性不一致情况
resultMap:设置自定义的映射关系
id:唯一标识
type:处理映射关系的实体类的类型
标签:
id:处理主键和实体类中实现的映射关系
result:处理普通字段和实体类中属性的映射关系
column:映射关系中的字段名,必须是sql查询出某个字段
property:设置映射关系中的属性的属性名,必须是处理的实体类类型中的属性名
映射文件
<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="getEmpById" resultMap="empResultMap">
select * from t_emp where emp_id=#{empId}
</select>
来源:https://blog.csdn.net/zjw_rp/article/details/128557953
0
投稿
猜你喜欢
- URL(Uniform Resource Locator)是统一资源 * ,它是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,
- 简介happens-before是JMM的核心概念。理解happens-before是了解JMM的关键。1、设计意图JMM的设计需要考虑两个
- 在Spring Boot Actuator中提供很多像health、metrics等实时监控接口,可以方便我们随时跟踪服务的性能指标。Spr
- log4j2支持日志的异步打印,日志异步输出的好处在于,使用单独的进程来执行日志打印的功能,可以提高日志执行效率,减少日志功能对正常业务的影
- 演示代码如下:package swt_jface.demo11; import org.eclipse.swt.SWT; import or
- 本文实例为大家分享了java实现抽奖功能的具体代码,供大家参考,具体内容如下抽一个:输入抽奖人数,生成随机数字进行抽奖。比如:楼主抽幸运儿送
- 此篇文章内容仅限于 描述 thy3.0 自定义标签的说明,所以你在看之前,请先会使用它。直奔主题,以下代码是如何引用 第三方标签的。说明:
- 一、系统启动后注入配置package com.example.config;import org.springframework.beans
- 实例如下:ServletRequestAttributes aRequestAttributes=(ServletRequestAttrib
- 前言继承是面向对象语法的三大特征之一。继承可以降低代码编写的冗余度,提高编程的效率。通过继承,子类获得了父类的成员变量和方法。一个子类如何继
- 阿里终面在线编程题,写出来与大家分享一下 有一个单向链表
- 简单的实现了一个树的结构,很不完善!后续参考一些其他代码的实现。试图实现叶子存在可变的节点,能够用来解析xml文件。叶子的代码:packag
- Spring Data JPA 映射VO/DTO对象在项目开发中,时常需要根据业务需求来映射VO/DTO对象(这两个概念理解感觉很模糊- 。
- 大多数情况下你不需要访问者模式,但当一旦需要访问者模式时,那就是真的需要它了,这是设计模式创始人的原话。可以看出应用场景比较少,但需要它的时
- Java2在1.4中新增了一个关键字:assert。在程序开发过程中使用它创建一个断言(assertion)。,它的语法形式有如下所示的两种
- 数据库里面表的字段中带有“”_“下划线,我们知道插件默认的是将这些带有下划线的字段默认的变成“优美的驼峰式”的。表是肯定不能动的,实体类的字
- AndroidStduio3.0使用gradle将module打包jar文件,首先需要安装gradle。打开控制台输入  
- @schedule 注解 是springboot 常用的定时任务注解,使用起来简单方便,但是如果定时任务非常多,或者有的任务很耗时
- 结束firefox的进程,一句代码就够了,如下:Runtime.getRuntime().exec("taskkill /F /I
- 这篇文章主要介绍了springboot配置文件绑定实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要