乐趣区

关于mybatis:Spring-Bootmybatis条件查询带下划线字段时返回为null

问题形容

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

退出移动版