目录
- MyBATis-plus实体和数据库字段的映射
- 方案一
- 方案二
- 总结
MyBatis-plus实体和数据库字段的映射
首先MyBatis-plus默认开启自动驼峰命名规则映射,其实就是驼峰转为下划线,例如:
我们的实体字段为errorMsg,遵循小驼峰命名,MyBatis-plus生成sql语句时会默认转为error_msg
生编程成的sqhttp://www.devze.coml如下:
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-pluhttp://www.devze.coms就不会帮我们做自动映射了,但是这样的话会影响整个项目的,用的时候需要注意一下
还有一点需要注意!
数据库设计规范优先使用蛇形命名法,就是js带下划线的
数据库表的字段名应该全部用小写字母命名,禁止出现大写,如果有大写需要改为小写并用下划线连接,
- 正确示例:error_massage
- 错误示例:errorMassage
所以,MyBatis-plus默认为驼峰转蛇形命名(也就是下划线)是正确的,只是xtEZCWBJ并不是所有公司的数据库表的设计都是规范的,比如说我们现在就是驼峰。。。
并不是所有公司的数据库表的设计都是规范的,比如说我们现在就是驼峰。。。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。
加载中,请稍侯......
精彩评论