问题形容
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 中查出来的带下划线命名的字段,主动转换 为驼峰命名,再去匹配类中的属性。