SpringBoot使用Druid配置多数据源的配置文件application.properties

本文详细介绍了如何使用Druid连接池配置多个MySQL数据源,包括数据源URL、用户名、密码、驱动类名等参数设置,以及初始化大小、最小和最大连接数的配置。此外,还介绍了Druid监控配置,如WebStatFilter排除项、StatViewServlet登录信息和慢SQL打印阈值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#第一个数据源
spring.datasource.druid.one.url=jdbc:mysql://localhost:3306/masterDB?characterEncoding=utf8&useSSL=true
spring.datasource.druid.one.username=root
spring.datasource.druid.one.password=root
spring.datasource.druid.one.driver-class-name=com.mysql.jdbc.Driver

#第二个数据源
spring.datasource.druid.two.url=jdbc:mysql://localhost:3306/secondDB?characterEncoding=utf8&useSSL=true
spring.datasource.druid.two.username=root
spring.datasource.druid.two.password=root
spring.datasource.druid.two.driver-class-name=com.mysql.jdbc.Driver

# 连接池配置,下面配置说明请参考Druid Github Wiki,配置_DruidDataSource参考配置

# 初始化大小,最小,最大
spring.datasource.druid.initialSize=5
spring.datasource.druid.minIdle=5
spring.datasource.druid.maxActive=30


######Druid监控配置######
#下面配置说明请参考Druid Github Wiki,配置_配置WebStatFilter
spring.datasource.druid.WebStatFilter.exclusions=*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*

#下面配置说明请参考Druid Github Wiki,配置_StatViewServlet配置
spring.datasource.druid.StatViewServlet.loginUsername=druid
spring.datasource.druid.StatViewServlet.loginPassword=druid


# 配置StatFilter  **打印慢sql** 大于200毫秒的标记为慢sql
spring.datasource.druid.filter.stat.db-type=mysql
spring.datasource.druid.filter.stat.log-slow-sql=true
spring.datasource.druid.filter.stat.slow-sql-millis=200
### Spring Boot使用 Druid 管理多数据源 #### 一、添加依赖项 为了实现多数据源的支持,需先引入 `dynamic-datasource-spring-boot-starter` 这个starter到项目的构建文件中。对于Maven项目来说是在`pom.xml`里增加如下片段[^2]。 ```xml <dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-datasource-spring-boot-starter</artifactId> <version>x.x.x</version><!-- 使用最新版本 --> </dependency> ``` #### 二、配置主数据源和其他数据源 在application.yml或application.properties中定义各个数据库连接池参数以及指定默认使用的数据源名称: ```yaml spring: datasource: type: com.alibaba.druid.pool.DruidDataSource primary: master # 默认的数据源ID dynamic: strict: false druids: master: url: jdbc:mysql://localhost:3306/db_master?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=UTC username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver slave_1: url: jdbc:mysql://localhost:3307/db_slave1... ... slave_n: url: jdbc:mysql://localhost:330n/db_slaven... ... ``` 注意这里通过前缀区分不同节点,并且可以自定义更多属性如最大活跃数等以满足性能需求[^3]。 #### 三、创建动态切换逻辑的服务层组件 当涉及到具体操作时,则可以通过注解方式快速指明当前方法应该访问哪个特定的数据源实例;也可以编写切面来控制更复杂的场景下自动选择合适的目标资源[^5]。 ```java @Service public class UserService { @Autowired private UserMapper userMapper; /** * 查询用户列表,默认走master库 */ public List<User> listUsers(){ return userMapper.selectAll(); } /** * 插入新记录至slave_1库 */ @DS("slave_1") public void insertUser(User user){ userMapper.insert(user); } } ``` 以上就是关于如何利用Druid配合SpringBoot搭建支持读写分离或多租户模式下的分布式架构方案的一个简单介绍[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值