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

MyBatis开启自动下划线转驼峰

map-underscore-to-camel-case: true 是 MyBatis 的一个“自动下划线转驼峰”开关。


✅ 它解决了什么问题?

数据库字段命名风格通常是:

user_name, create_time, is_deleted

Java 实体类属性风格是驼峰:

userName, createTime, isDeleted

两边名字不一致,MyBatis 查询后无法自动把列值填到实体类属性里


✅ 开启后会发生什么?

MyBatis 在封装结果集时会自动做转换:

数据库列名映射到 Java 属性名
user_nameuserName
create_timecreateTime
is_deletedisDeleted

无需手动写别名,也无需写 resultMap


✅ 举个例子

public class Employee {private Long id;private String userName;   // 注意驼峰private LocalDateTime createTime;
}
<select id="getById" resultType="Employee">SELECT id, user_name, create_timeFROM employeeWHERE id = #{id}
</select>
  • 没开 map-underscore-to-camel-caseuserNamecreateTime 会是 null
  • 开了 map-underscore-to-camel-case: true:MyBatis 自动把 user_nameuserNamecreate_timecreateTime

⚠️ 注意

  1. 只适用于查询结果封装resultType/resultMap
    不适用于 #{param} 占位符 → 占位符里写 Java 属性名即可。
  2. 转换规则简单可靠:
    下划线后的字母变大写,去掉下划线。

✅ 一句话总结

map-underscore-to-camel-case: true 就是告诉 MyBatis:
数据库里的 user_name 自动对应 Java 的 userName,别再让我写一堆别名或 resultMap 了。

http://www.dtcms.com/a/399656.html

相关文章:

  • 自己做网站 搜索功能开发汽车商城网站模板免费下载
  • 加拿大住宅代理指南(2025年更新)
  • 专门建站的公司制作u盘启动盘
  • redis的set集合的常规使用
  • 【C++模板编程】从泛型思想到实战应用
  • auto 关键字
  • 工程项目建设自学网站哪家网站开发好
  • 企业网站建设文档微信开发应用平台
  • 大语言模型本身有记忆功能吗?
  • 解决Initializing Python failed: Failed to import encodings module错误
  • 上海做网站哪里有wordpress环境安装
  • 兖州市做网站wordpress电子商务视频教程
  • 优秀网站模板中国10大装修公司排名
  • python++springboot+nodejs微信小程序高校实验室管理系统 实验室预约登记 设备借用管理 实验记录审核系统
  • 外贸精品网站建设网站运营介绍
  • 构建神经网络的两大核心工具
  • 品牌高端网站制作金蝶软件多少钱
  • 基于STM32舞台彩灯控制器设计app控制系统
  • 2D激光定位与建图
  • shell编程:grep - 文本搜索利器(1)
  • 网站建设制作公司地址做照片书网站
  • 鸿蒙Next远端状态订阅开发实例:实现进程状态监控与资源管理
  • 济宁做网站的WordPress重新安装删除哪个
  • Deep Residual Learning for Image Recognition 阅读笔记
  • 【AI】【Java后端】深度解析 RAG 高级功能:从原理到落地实践
  • 微信移动网站建设做电影网站用什么空间
  • 银行测试存款业务(四)
  • C#练习题——匿名方法与闭包实战:函数式编程的优雅实现
  • 西安有哪些网站设计公司seo排名优化推广报价
  • 深圳安鸿源建设网站上海网站建站建设服务