前言

简单的配置多数据源demo,只是简单使用,不涉及架构,可做读写分离

引入依赖

//mybatis-plus
 <dependency>
	 <groupId>com.baomidou</groupId>
     <artifactId>mybatis-plus-boot-starter</artifactId>
     <version>3.2.0</version>
 </dependency>

//多数据源
<dependency>
	<groupId>com.baomidou</groupId>
	<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
	<version>3.0.0</version>
</dependency>

yml文件

spring:
  datasource:
    dynamic:
      primary: master #指定默认数据源
      datasource:
        
        master: #数据源1
          username: root
          password: 123456
          driver-class-name: com.mysql.jdbc.Driver
          url: jdbc:mysql:///mybatis-plus1?serverTimezone=UTC&characterEncoding=UTF-8
          type: com.alibaba.druid.pool.DruidDataSource
          
        datasource2: #数据源2
          username: root
          password: 123456
          driver-class-name: com.mysql.jdbc.Driver
          url: jdbc:mysql:///mybatis-plus?serverTimezone=UTC&characterEncoding=UTF-8
          type: com.alibaba.druid.pool.DruidDataSource

如何使用

@DS()
在service层使用这个注解就可以指定你要使用的数据源,这个注解可以作用在类上,也可以作用在方法上,如果同时使用,方法优先

例:

//dao层
public interface UserDao extends BaseMapper<User> {}
//service层
@Service
@DS("master")
public class UserService {
    @Autowired
    private UserDao dao;

    @DS("datasource2")
    public List<User> findUser(){
        return  this.dao.selectList(null);
    }
}

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐