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

TRANSLATE with x English
Arabic Hebrew Polish
Bulgarian Hindi Portuguese
Catalan Hmong Daw Romanian
Chinese Simplified Hungarian Russian
Chinese Traditional Indonesian Slovak
Czech Italian Slovenian
Danish Japanese Spanish
Dutch Klingon Swedish
English Korean Thai
Estonian Latvian Turkish
Finnish Lithuanian Ukrainian
French Malay Urdu
German Maltese Vietnamese
Greek Norwegian Welsh
Haitian Creole Persian  
Bing Webmaster Portal Back