MyBatis-plus与数据库字段的映射方式
MyBatis-plus实体和数据库字段的映射
首先MyBatis-plus默认开启自动驼峰命名规则映射,其实就是驼峰转为下划线,例如:
我们的实体字段为errorMsg,遵循小驼峰命名,MyBatis-plus生成sql语句时会默认转为error_msg
生成的sql如下:
INSERT INTO log_history ( id, code, error_msg, time ) VALUES ( ?, ?, ?, ? )
很明显MyBatis-plus默认给驼峰命名转成下划线了;
此时如果我们数据库字段是驼峰命名就会报错,那么如何解决这种问题呢?

方案一
使用MyBatis-plus自带注解,在实体类字段名称上使用@TableField(value = “errorMsg”)这个注解,value里面对应的是数据库的具体字段名称
方案二
关闭MyBatis-plus的驼峰命名规则映射,在yml配置文件中添加如下配置
mybatis-plus:
configuration:
map-underscore-to-camel-case: false # 禁止驼峰命名时自动转为下划线
这样的话MyBatis-plus就不会帮我们做自动映射了,但是这样的话会影响整个项目的,用的时候需要注意一下
还有一点需要注意!
数据库设计规范优先使用蛇形命名法,就是带下划线的
数据库表的字段名应该全部用小写字母命名,禁止出现大写,如果有大写需要改为小写并用下划线连接,
- 正确示例:error_massage
- 错误示例:errorMassage
所以,MyBatis-plus默认为驼峰转蛇形命名(也就是下划线)是正确的,只是并不是所有公司的数据库表的设计都是规范的,比如说我们现在就是驼峰。。。
并不是所有公司的数据库表的设计都是规范的,比如说我们现在就是驼峰。。。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
使用Java接收和处理OpenTelemetry数据的完整指南
在现代分布式系统中,OpenTelemetry 成为了一种常见的标准,用于跟踪和监控应用程序的性能和行为,OTLP是 OpenTelemetry 社区定义的一种数据传输协议,文将介绍如何使用 Java 编写代码来接收和处理 OTLP 数据,需要的朋友可以参考下2024-04-04
深入分析Comparable与Comparator及Clonable三个Java接口
接口不是类,而是对类的一组需求描述,这些类要遵从接口描述的统一格式进行定义,这篇文章主要为大家详细介绍了Java的Comparable,Comparator和Cloneable的接口,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助2022-05-05
Java中的数组复制(clone与arraycopy)代码详解
这篇文章主要介绍了Java中的数组复制(clone与arraycopy)代码详解,本文并未全部介绍数组复制的几种方式,仅对clone和copy的相关内容进行了解析,具有一定参考价值,需要的朋友可以了解下。2017-11-11
JDBC之PreparedStatement类中预编译的综合应用解析
SQL 语句被预编译并存储在 PreparedStatement 对象中。然后可以使用此对象多次高效地执行该语句2013-07-07


最新评论