mybatis的配置通過自定義編程方式實現的,導致配置文件的mybatis配置不生效,解決方式如下:


目錄

這里只是拿其中一個配置來舉例:

springboot mybatis配置map-underscore-to-camel-case自動轉駝峰不生效

如果yml中mtybatis中配置了如下:

mybatis:
     configuration:
        map-underscore-to-camel-case: true

則在mybatis的config文件中增加

    @Bean
    @ConfigurationProperties(prefix = "mybatis.configuration")
    public org.apache.ibatis.session.Configuration globalConfiguration() {
        return new org.apache.ibatis.session.Configuration(); }
 
    @Bean
    public SqlSessionFactory sqlSessionFactory(DataSource dataSource,org.apache.ibatis.session.Configuration configuration) throws Exception
    {
        String typeAliasesPackage = env.getProperty("mybatis.typeAliasesPackage");
        String mapperLocations = env.getProperty("mybatis.mapperLocations");
        String configLocation = env.getProperty("mybatis.configLocation");
        typeAliasesPackage = setTypeAliasesPackage(typeAliasesPackage);
        VFS.addImplClass(SpringBootVFS.class);
 
        final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
        sessionFactory.setDataSource(dataSource);
        sessionFactory.setTypeAliasesPackage(typeAliasesPackage);
 
        sessionFactory.setMapperLocations(resolveMapperLocations(StringUtils.split(mapperLocations, ",")));
        sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation));
 
        // 第一種 配置mybatis自動轉駝峰 生效
       // sessionFactory.setConfiguration(configuration);
 
        //  第二種 配置mybatis自動轉駝峰 生效
        sessionFactory.getObject().getConfiguration().setMapUnderscoreToCamelCase(true);
        return sessionFactory.getObject();
 
        這里使用的是第二種,因為Configuration對象和configLocation不能同時存在,記得去掉方法參數中的configuration對象
 
    }

 

 

轉載:https://blog.csdn.net/qq_33238562/article/details/119616339

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM