一般配置如下:
import org.apache.ibatis.session.Configuration;
import org.mybatis.spring.annotation.MapperScan;
import org.mybatis.spring.boot.autoconfigure.ConfigurationCustomizer;
import org.springframework.context.annotation.Bean;
@MapperScan("包路径")
@org.springframework.context.annotation.Configuration
public class MyBatisConfig {
@Bean
public ConfigurationCustomizer configurationCustomizer() {
return new ConfigurationCustomizer(){
@Override
public void customize(Configuration configuration) {
//驼峰命名法
configuration.setMapUnderscoreToCamelCase(true);
}
};
}
}
有时候会不起作用,为什么呢?原因在于我们可能使用了别的框架,比如:tkmybatis。注意观察我们注册的这个Bean:ConfigurationCustomizer,实际上tk也有这个bean,而且方法也是:customize,所以很容易被忽略,导致我们的配置不生效。同样的,使用MyBatisPlus框架也是这种情况。
解决方法:改引用
import tk.mybatis.mapper.autoconfigure.ConfigurationCustomizer;
参考的文章:十分感谢解决我的问题