MyBatis字段名和属性名不一致的解决方法

 更新时间:2023年01月15日 10:01:03   作者:zjw_rp  
本文主要介绍了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>

到此这篇关于MyBatis字段名和属性名不一致的解决方法的文章就介绍到这了,更多相关MyBatis字段名和属性名不一致内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringCloud如何使用Eureka实现服务之间的传递数据

    SpringCloud如何使用Eureka实现服务之间的传递数据

    这篇文章主要介绍了SpringCloud使用Eureka实现服务之间的传递数据操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • Redis监听过期的key实现流程详解

    Redis监听过期的key实现流程详解

    本文主要介绍了Redis监听key的过期时间,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • Spring Boot 整合持久层之JdbcTemplate

    Spring Boot 整合持久层之JdbcTemplate

    持久层是 Java EE 中访问数据库的核心操作,Spring Boot 中对常见的持久层框架都提供了自动化配置,例如 JdbcTemplate 、 JPA 等,Mybatis 的自动化配置则是 Mybatis 官方提供的
    2022-08-08
  • SpringBoot整合swagger的操作指南

    SpringBoot整合swagger的操作指南

    Swagger 是一个开源的框架,用于设计、构建、文档化和使用 RESTful 风格的 Web 服务,Spring Boot 是一个用于构建独立的、基于生产级别的 Spring 应用程序的框架,本文讲给大家介绍一下SpringBoot整合swagger的操作指南,需要的朋友可以参考下
    2023-09-09
  • 浅析java 循序与二元搜索算法

    浅析java 循序与二元搜索算法

    这篇文章主要简单介绍了java 循序与二元搜索算法,需要的朋友可以参考下
    2015-02-02
  • Java中字符串常见题之String相关讲解

    Java中字符串常见题之String相关讲解

    今天小编就为大家分享一篇关于Java中字符串常见题之String相关讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • 浅谈SpringBoot是如何实现日志的

    浅谈SpringBoot是如何实现日志的

    这篇文章主要介绍了浅谈SpringBoot是如何实现日志的,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • 详解Spring MVC3返回JSON数据中文乱码问题解决

    详解Spring MVC3返回JSON数据中文乱码问题解决

    本篇文章主要介绍了Spring MVC3返回JSON数据中文乱码问题解决,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • SpringBoot实现短链接系统的使用示例

    SpringBoot实现短链接系统的使用示例

    由于短链接可能涉及到用户隐私和安全问题,所以短链接系统也需要符合相关的数据保护和安全标准,本文主要介绍了SpringBoot实现短链接系统的使用示例,感兴趣的可以了解一下
    2023-09-09
  • SpringBoot中使用HTTP客户端工具Retrofit

    SpringBoot中使用HTTP客户端工具Retrofit

    这篇文章主要为大家介绍了SpringBoot中使用HTTP客户端工具Retrofit方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06

最新评论