目录
11 多数据源
11.1 介绍
11.2 代码实现
12 MyBatisX插件
11 多数据源
11.1 介绍
- 适用于多种场景:纯粹多库、读写分离、 一主多从、 混合模式等
- 下面会模拟一个纯粹多库的一个场景,其他场景类似
- 场景说明:
11.2 代码实现
- 创建数据库及表
- 导入依赖
<dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-datasource-spring-boot-starter</artifactId> <version>3.5.2</version> </dependency>- 配置yml文件
spring: # 配置数据源信息 datasource: dynamic: # 设置默认的数据源或者数据源组 ,默认值即为master primary: master # 严格匹配数据源 ,默认false.true未匹配到指定数据源时抛异常 ,false使用默认数据源 strict: false datasource: master: # 配置数据源类型 type: com.zaxxer.hikari.HikariDataSource # 配置连接数据库信息 driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/mybatis_plus?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root password: '036520' slave_1: # 配置数据源类型 type: com.zaxxer.hikari.HikariDataSource # 配置连接数据库信息 driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/mybatis_plus_1?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root password: '036520'- 创建service
- 测试
@Test public void testDynamicDataSource(){ System.out.println(userService.getById(1L)); System.out.println(productService.getById(1L)); }- 添加注解
- 测试
12 MyBatisX插件
- MyBatis-Plus为我们提供了强大的mapper和service模板,能够大大的提高开发效率。
- 但是在真正开发过程中, MyBatis-Plus并不能为我们解决所有问题,例如一些复杂的SQL,多表 联查,我们就需要自己去编写代码和SQL语句,我们该如何快速的解决这个问题呢,这个时候可 以使用MyBatisX插件。
- MyBatisX一款基于 IDEA 的快速开发插件,为效率而生。
- MyBatisX插件用法:https://baomidou.com/guides/mybatis-x/。
- 具体的安装步骤,见2 入门案例2.4