事件起因:
初始对配置不熟悉,一股脑的把mybatis配置扔进了application中,就没有去管。
后来发现数据查询过来总是null,找不到字段值(那时候还没意识到mybatis配置未起作用,傻傻的自己)。
后来在Mapper上用@Results+@Result注解将字段名一一对应起来,问题确实得到了解决,后来突然发现我再配置中写了:mybatis.configuration.map-underscore-to-camel-case=true
(开启驼峰命名转换),可是为什么不生效呢?
原来是为了做数据源,所以将配置抽出到配置类中了,而关于驼峰转换的配置内容没有放进去
解决办法:
在mybatis的配置类中声明:
@Bean
@ConfigurationProperties(prefix = "mybatis.configuration")
public org.apache.ibatis.session.Configuration globalConfiguration() {
return new org.apache.ibatis.session.Configuration();
}
之后再 sqlSessionFactoryBean 中传入 Configuration(注意是 org.apache.ibatis.session包下的Configuration)
将config加入进去:sqlSessionFactoryBean.setConfiguration(config)
问题解决!