麒麟v10 上部署 TiDB v5.1.2 生产环境优化实践
897
2023-04-17
SpringBoot+Mybatis多数据源配置和切换
前言
在项目开发中,经常会涉及到一个应用程序调用多个数据的情况。今天介绍一个SpringBoot+mybatis的多数据源的解决方案。
数据库准备
创建两个数据库,两个数据库都有Im_person表,两个表中无数据。
代码结构
说明:我这里只是为了体现效果,就省略了service步骤。各位大牛开发,不喜勿喷,理解万岁,嘻嘻!!
application.yml中配置两个数据源,配置如下:
2.SpringBoot多数据源配置类。
说明:两个数据的代码基本相同,不同的是要配置好扫描包的路径,以及mybatis的SQL文件的路径。所以不同的连接DAO和mapper文件要放在不同的文件夹,方便配置管理。
实现效果
以上的配置已经实现了多数据源的配置,下面实现一个功能。通过一个接口同时向两个库的两个表中导入不同的数据。
controller代码如下:
@RestControllerpublic class DataSourceController { @Resource private MasterPersonMapper masterPersonMapper; @Resource private SlavePersonMapper slavePersonMapper; @GetMapping("/datasource") public String datasource() { ImPerson person1 = new ImPerson(); person1.setPersonId("1"); person1.setGender("男"); person1.setBirthday(new Date()); person1.setLocation("中国"); masterPersonMapper.insertSelective(person1); ImPerson person2 = new ImPerson(); person2.setPersonId("2"); person2.setGender("女"); person2.setBirthday(new Date()); person2.setLocation("中国北京"); slavePersonMapper.insertSelective(person2); return "导入成功"; }}
执行:
结果:
可以看到两个库中的两个表都导入了数据。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。