当前位置: 首页 > news >正文

MyBatis字段名和属性名不一样的解决方案

一、给字段起别名,保持和属性名一样

    <! --List<Emp> getAllEmp( ); --><select id="getAllEmp" resultType="Emp">select eid , emp_name empName , age , sex, email from t_emp</ select>

如上面的SQL语句将emp_name取别名为empName对应实体类的属性名。

二、设置全局配置,将_自动映射为驼峰(开启驼峰匹配)

开启驼峰匹配后,会将_自动映射为驼峰,如emp_name将会被映射为empName. 


在Spring Boot中,使用MyBatis时,可以通过在application.yml文件中设置以下参数来开启驼峰匹配:

mybatis:configuration:map-underscore-to-camel-case: true

 这样设置之后,MyBatis就会将数据库中的下划线分隔的字段名转换为Java中的驼峰式命名。例如,如果数据库中的字段名为user_name,则在Java中将会被映射为userName

 三、通过resultMap解决字段名和属性名的映射关系

resultMap:设置自定义映射

  • 属性:
    • id:表示自定义映射的唯一标识,不能重复
    • type:查询的数据要映射的实体类的类型
  • 子标签:
    • id:设置主键的映射关系
    • result:设置普通字段的映射关系
    • 子标签属性:
      • property:设置映射关系中实体类中的属性名
      • column:设置映射关系中数据库 表中的字段名
      • association:javaBean封装一个实体(多对一);
      • collection:用于javaBean封装一个集合(一对多)。
  • 若字段名和实体类中的属性名不一致,则可以通过resultMap设置自定义映射,即使字段名和属性名一致的属性也要映射,也就是全部属性都要列出来
<resultMap id="empResultMap" type="Emp"><id property="eid" column="eid"></id><result property="empName" column="emp_name"></result><result property="age" column="age"></result><result property="sex" column="sex"></result><result property="email" column="email"></result>
</resultMap>
<!--List<Emp> getAllEmp();-->
<select id="getAllEmp" resultMap="empResultMap">select * from t_emp
</select>

http://www.lryc.cn/news/169573.html

相关文章:

  • Postman应用——Collection、Folder和Request
  • 驱动开发,stm32mp157a开发板的led灯控制实验
  • 黑客入侵机构,导致2万条信息被卖
  • 循环购:让消费者和商家共赢的新型电商模式
  • 分布式缓冲-Redis
  • C# 流Stream详解(3)——FileStream源码
  • C语言的文件操作(炒详解)
  • 27.基于ADS的不等分威尔金森功分器设计
  • Linux自用命令
  • clickhouse union all之后数据量不一致
  • 力扣刷题19-删除链表的倒数第N个节点
  • Unity中的简单数据存储办法
  • Pytorch-MLP-CIFAR10
  • SQL2 查询多列
  • 算法分享三个方面学习方法(做题经验,代码编写经验,比赛经验)
  • 爬虫 — 验证码反爬
  • 视频图像处理算法opencv模块硬件设计图像颜色识别模块
  • 目标检测网络之Fast-RCNN
  • Golang Gorm 创建HOOK
  • 计算机视觉的应用15-图片旋转验证码的角度计算模型的应用,解决旋转图片矫正问题
  • 【Seata】分布式事务问题和理论基础
  • 文件打包解包的方法
  • npm 清缓存(重新安装node-modules)
  • sqlserver查询表中所有字段信息
  • 二叉树的概念、存储及遍历
  • 【面试题】智力题
  • 【SpringBoot集成Redis + Session持久化存储到Redis】
  • day49:QT day2,信号与槽、对话框
  • Meta分析核心技术
  • Gof23设计模式之责任链模式