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
带着疑问去思考,然后串联,进而归纳总结,不断追问自己,进行自我辩证,像侦查嫌疑案件一样看待技术问题,漆黑的街道,你我一起寻找线索,你就是技术界大侦探福尔摩斯