上次跟大家分享了SpringBoot如何配置多个数据源,配置多个数据源是成功了,但是有个小问题,就是关于驼峰命名的字段并没有查询出来,也就是说,我们的驼峰命名规则是没有生效的。大家可以看下上篇文章的代码结果。SpringBoot如何整合多个数据源,看这篇就够了,可以很清楚的看出我们的时间值是没有查询出来的,那么我今天就跟大家来说一下这个问题的解决办法。
@Bean(name = "test2SqlSessionFactory") public SqlSessionFactory test2SqlSessionFactory(@Qualifier("test2DataSource") DataSource dataSource) throws Exception { SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); bean.setDataSource(dataSource); bean.setTypeAliasesPackage("com.example.mapper.test2"); org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration(); // 开启驼峰命名规则 configuration.setMapUnderscoreToCamelCase(true); bean.setConfiguration(configuration); // 配置xml文件的地址 bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/test1/*.xml")); return bean.getObject(); }
我们只需要在昨天配置的类中加入中间几行代码,开启驼峰命名规则即可。两个配置文件都需要进行配置一下,配置好之后我们再来看一下结果。
这个时候我们整个的驼峰命名就算处理好了。另外不配置这个还有另外一个问题出现,就是如果你的sql是写在xml文件中的,那么你的接口和xml文件是不对应的,就会报错,我们来看一下会报什么错。
我们的sql是写在xml文件中的
我们来看下不配置xml地址错误信息
可以清晰的看出,找不到该方法,这就是我们多个数据源如果不在每个数据源的配置文件中配置xml地址,那么就会出现这个错误。我们配置一下再看下结果。
这个时候就可以拿到正确的结果了,上篇遗留的问题今天给大家补充一下,希望大家看完之后能搞懂一点东西,而不是看个大概,结果自己一写全是各种坑,导致看了没什么效果,我提前把这些坑爬了及时的分享给大家,希望大家一起成长。
git地址:https://github.com/liangbintao/springboot_datasources.git
ps:上次说本来今天这篇写支付的,结果有点遗留问题就给大家再补一下,下篇再给大家写微信支付遇到的坑,已经要注意的地方。
如果你觉得我的这种分享对你有点帮助,底下给我留个言互动一下吧。
本文分享自微信公众号 –
一个程序员的成长(xiaozaibuluo)
,作者:冰峰
原文出处及转载信息见文内详细说明,如有侵权,请联系
[email protected]
删除。
原始发表时间:
2019-07-04
本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。