依赖
<dependencies><!--mysql连接--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><!--多数据源--><dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>3.6.0</version></dependency><!--mybatisplus--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.3</version></dependency><!--lombok--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>
配置文件
# 应用服务 WEB 访问端口
server.port=8080#mybatisplus配置mapper位置
mybatis-plus.mapper-locations=classpath*:mapper/*.xml# 多数据源配置
spring.datasource.dynamic.primary=master
spring.datasource.dynamic.strict=falsespring.datasource.dynamic.datasource.master.url=****
spring.datasource.dynamic.datasource.master.username=****
spring.datasource.dynamic.datasource.master.password=****
spring.datasource.dynamic.datasource.master.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.dynamic.datasource.slave1.url=****
spring.datasource.dynamic.datasource.slave1.username=****
spring.datasource.dynamic.datasource.slave1.password=****
spring.datasource.dynamic.datasource.slave1.driver-class-name=com.mysql.cj.jdbc.Driver
下面是项目文件结构
就是必须的 mapper domain service impl 这些文件,直接用 mybatisplus的idea插件生成即可
还需要在 impl 上面加上注解
开始测试
@RestController
@RequestMapping("/multi")
public class MultiDatasource {@Autowiredprivate ProductService productService;@Autowiredprivate TbProductService tbProductService;@GetMapping("/product")public String product() {/*从一个库中查出数据*/List<Product> products = productService.listByIds(List.of(1));Product product = products.get(0);//id //product_name //product_description//pre_price //now_price //create_time//creator //update_time //editor //ynTbProduct tbProduct = new TbProduct();tbProduct.setProductName(product.getTitle());tbProduct.setProductDescription(product.getDescription());tbProduct.setPrePrice(Long.valueOf(product.getOriginalPrice()));tbProduct.setNowPrice(Long.valueOf(product.getActualPrice()));tbProduct.setCreateTime(product.getCreateTime());tbProduct.setCreator("admin");tbProduct.setUpdateTime(product.getUpdateTime());tbProduct.setEditor("admin");tbProduct.setYn(1);tbProductService.save(tbProduct);return "Hello, MultiDatasource!";}
}
结束