记录一下最近做的一个项目需要配置多数据源,记录一下防止以后忘记
1:pom文件引进依赖
<!-- oracle数据驱动 -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0</version>
</dependency>
<!-- 多数据源依赖 -->
<dependency>-->
<groupId>com.baomidou</groupId>-->
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>-->
<version>3.2.1</version>-->
<scope>compile</scope>-->
</dependency>
<!-- mysql数据驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
<scope>runtime</scope>
</dependency>
2:然后在application.properties文件中设置多数据源,需要设置一个主库和从库,配置如下
spring.datasource.dynamic.primary=master
spring.datasource.dynamic.datasource.master.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.dynamic.datasource.master.url=jdbc:mysql://127.0.0.1:3306/你的数据库名?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC&autoReconnect=true&useSSL=false
spring.datasource.dynamic.datasource.master.username=root
spring.datasource.dynamic.datasource.master.password=root
spring.datasource.dynamic.datasource.second.driver-class-name= oracle.jdbc.OracleDriver
spring.datasource.dynamic.datasource.second.url=jdbc\:oracle\:thin\:@127.0.0.1\:3011\:orcl
spring.datasource.dynamic.datasource.second.username=root
spring.datasource.dynamic.datasource.second.password=root
spring.datasource.dynamic.primary=master
这串代码是设置那个数据库为主库
然后就配置好了,需要查从库数据的话就直接使用注解@DS("second")
就可以了。
3:实际使用实例
import com.baomidou.dynamic.datasource.annotation.DS;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import springboot.spring.Mapper.SdqxDao;
@Service
public class YsService {
@Autowired
private SdqxDao sdqxDao;
@DS("second")
public void ysFileToOracle(PageData pd) {
sdqxDao.ysFileToOracle(pd);
}
}
sdqxDao.ysFileToOracle(pd);这个方法就是走的就是从库