java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > MyBatis-plus与数据库字段的映射

MyBatis-plus与数据库字段的映射方式

作者:张 先生

MyBatis-plus默认开启驼峰命名规则映射,即驼峰转为下划线,如果数据库字段也是驼峰命名,会导致映射错误,解决方法有两种:使用@TableField注解指定数据库字段名或关闭驼峰命名规则映射,数据库设计规范应优先使用蛇形命名法,即全部小写字母并用下划线连接

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就不会帮我们做自动映射了,但是这样的话会影响整个项目的,用的时候需要注意一下

还有一点需要注意!

数据库设计规范优先使用蛇形命名法,就是带下划线的

数据库表的字段名应该全部用小写字母命名,禁止出现大写,如果有大写需要改为小写并用下划线连接,

所以,MyBatis-plus默认为驼峰转蛇形命名(也就是下划线)是正确的,只是并不是所有公司的数据库表的设计都是规范的,比如说我们现在就是驼峰。。。

并不是所有公司的数据库表的设计都是规范的,比如说我们现在就是驼峰。。。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文