前言
在测试时,发现查询数据库的时候,下划线的字段查出来映射到实体类的时候为空
需要解决下划线转驼峰的问题
mybatis支持属性使用驼峰的命名,用
属性
mapUnderscoreToCamelCase:true/false
<!--是否启用下划线与驼峰式命名规则的映射(如first_name => firstName)-->
我们一般在数据库中字段名使用 '_'连接,而在实体类中使用驼峰命名。但是这样查询之后使用的驼峰命名法的是映射不到实体类上的 。
要解决这个问题只需要在mybatis配置文件中添加以下配置
配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="mapUnderscoreToCamelCase" value="true" />
</settings>
</configuration>
在setting中设置mapUnderscoreToCamelCase为true,就可以实现驼峰转换了, 这个的默认是false;
在SpringBoot 项目中没有mybatis.xml文件,可以在application.properties中,加入下面的配置项:
mybatis.configuration.mapUnderscoreToCamelCase=true
或
mybatis.configuration.map-underscore-to-camel-case=true
设为true表示开启驼峰转换。两种方式实验证明都可以使用。但如果同时配置的话,前者mybatis.configuration.mapUnderscoreToCamelCase的优先级更高。
ConfigurationCustomizer
SpringBoot中还可以使用自定义配置类的方式配置;给容器中添加一个ConfigurationCustomizer;
@Configuration
public class MyBatisConfig {
@Bean
public ConfigurationCustomizer configurationCustomizer() {
return new ConfigurationCustomizer() {
@Override
public void customize(org.apache.ibatis.session.Configuration configuration) {
configuration.setMapUnderscoreToCamelCase(true);
}
};
}
}
原文链接:https://blog.csdn.net/liu_sisi/article/details/88360155