问题描述
MyBatis无法查询出属性名和数据库字段名不完全相同的数据。
即:属性名和数据库字段名分别为驼峰命名和下划线命名时查出的数据为NULL。
问题分析
MyBatis默认是属性名和数据库字段名一一对应的,即
数据库表列:user_name实体类属性:user_name
但是java中一般使用驼峰命名
数据库表列:user_name实体类属性:userName
解决方案
在Spring Boot中,可以通过设置map-underscore-to-camel-case属性为true来开启驼峰功能。
MyBatis配置:
application.properties中:
1. #开启驼峰命名转换
2. mybatis.configuration.map-underscore-to-camel-case=true
application.yml中:
1. mybatis:
2. configuration:
3. map-underscore-to-camel-case: true
使用该配置可以让MyBatis自动将SQL中查出来的带下划线命名的字段,自动转换为驼峰命名,再去匹配类中的属性。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。