您的位置:首页 > 编程语言 > Java开发

springboot多数据源碰到的问题:mybatis的mapper.xml和dao分离到不同文件

2019-01-16 11:36 1681 查看

前段时间有空,自己学习了下如何实现连接多数据源,框架是springboot+mybatis+mysql。具体实现有空再开个文章,这里记录下困扰许久的问题,今天终于解决。

一般mybatis,如果xml和dao分离,默认要放在同一个文件夹下。springboot默认有resources,推荐xml等静态资源放在resources文件夹下,目录为

单数据源时,只需要再application.properties中写好mybatis配置:

[code]#mybatis
#mybatis.config-locations=classpath:mybatis/mybatis-config.xml
mybatis.mapper-locations=classpath:mappers/*.xml

声明mybatis的mapper.xml位置,就可以实现xml和dao放在不同文件夹,如上图。

但是我在实现了多数据源后,上述方式失效,xml又必须和dao放在同一文件夹,今天灵光一现,想通了关节。因为单数据源时,我们都默认使用springboot的配置,springboot自动帮我们完成连接数据库的过程。

然鹅,多数据源时,我们是自己手动创建数据库连接,注入到sqlfactory,这时候我们就要手动配置。上图:

加上这句

[code]factoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mappers/*.xml"));

配置xml的文件路径,也可以写在application.properties,然后在config里读取。这里我就直接写在config里了。

问题解决!

mybatis-config同理:贴上读取application.properties配置的代码;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐