在项目里加了mybatis的配置,
如下:

mybatis.configuration.map-underscore-to-camel-case=false
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

发现没有生效。

排查了一下,发现原因,是因为使用了多数据源的原因。

多数据需要自己配置config到SqlSessionFactoryBean中

解决方法如下:

  • 创建MybatisConfig配置类:
@Configuration
public class MybatisConfig {


    @Bean
    @ConfigurationProperties(prefix = "mybatis.configuration")
    public org.apache.ibatis.session.Configuration mybatisConfiguration() {
        return new org.apache.ibatis.session.Configuration();
    }

}
  • 在SqlSessionFactoryBean中设置配置类
 @Bean
    @Primary
    public SqlSessionFactoryBean sqlSessionFactory(org.apache.ibatis.session.Configuration configuration) throws IOException, SQLException {
        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        sqlSessionFactoryBean.setDataSource(dataSource1());
        // 设置查找器
        PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
        sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath*:mapper/*.xml"));
        // 手动设置配置
        sqlSessionFactoryBean.setConfiguration(configuration);
        return sqlSessionFactoryBean;
    }
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐