返回顶部
首页 > 资讯 > 后端开发 > Python >MyBatis字段名和属性名不一致的解决方法
  • 387
分享到

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

MyBatis字段名和属性名不一致MyBatis字段名和属性名 2023-01-15 12:01:59 387人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录1. 字段取别名,和属性名保持一致2. 使用全局配置处理字段名和属性名不一致3. 使用自定义映射resultMap处理字段名和属性不一致情况1. 字段取别名,和属性名保持一致 映

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字段名和属性名不一致内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: MyBatis字段名和属性名不一致的解决方法

本文链接: https://lsjlt.com/news/177773.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作