使用dynamic-datasource配置多数据源:
引入mavne:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
配置数据源:
这里要注意TDengine数据库默认连接状态sql语句是select server_status()
不指定的话启动会报错!
spring:
datasource:
dynamic:
druid:
initial-size: 5
min-idle: 5
maxActive: 20
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 6000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 60000
# 配置一个连接在池中最大生存的时间,单位是毫秒
maxEvictableIdleTimeMillis: 900000
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
# 打开PSCache,并且指定每个连接上PSCache的大小
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize: 20
primary: master #设置默认的数据源或者数据源组,默认值即为master
strict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
datasource:
master:
driver-class-name: oracle.jdbc.OracleDriver
username: xxxx
password: xxxx
url: jdbc:xxxx:@xxxx:xxxx:xxxx
taos:
driver-class-name: com.taosdata.jdbc.rs.RestfulDriver
username: root
password: taosdata
url: jdbc:TAOS-RS://xxxx:6030/xxxx
hikari:
connection-test-query: select server_status() # 连接是否有效的查询语句
使用的时候用@DS("taos")
来切换数据源:
@Mapper
@DS("taos")
public interface TestMapper {
List<CollectionData> testCollection();
}