springBoot集成durid

本文详细介绍了如何在MyBatis中配置Druid数据库连接池,包括Maven依赖引入、application.properties配置参数详解,以及如何通过配置实现连接池的有效管理和性能监控。

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

> 在配置durid之前默认已经配置好了mybatis,如果没有配置,请参考我的这一篇博客 

点击查看

1.在maven引入jar包:

<!-- druid -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.9</version>
</dependency>

2.在application.properties文件中配置

# 初始化时建立物理连接的个数
spring.datasource.druid.initial-size=5
# 最大连接池数量
spring.datasource.druid.max-active=30
# 最小连接池数量
spring.datasource.druid.min-idle=5
# 获取连接时最大等待时间,单位毫秒
spring.datasource.druid.max-wait=60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
spring.datasource.druid.time-between-eviction-runs-millis=60000
# 连接保持空闲而不被驱逐的最小时间
spring.datasource.druid.min-evictable-idle-time-millis=300000
# 用来检测连接是否有效的sql,要求是一个查询语句
spring.datasource.druid.validation-query=SELECT 1 FROM DUAL
# 建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
spring.datasource.druid.test-while-idle=true
# 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
spring.datasource.druid.test-on-borrow=false
# 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
spring.datasource.druid.test-on-return=false
# 是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大,比如说oracle。在mysql下建议关闭。
spring.datasource.druid.pool-prepared-statements=true
# 要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为true。
spring.datasource.druid.max-pool-prepared-statement-per-connection-size=50
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计
spring.datasource.druid.filters=stat,wall
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
spring.datasource.druid.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
# 合并多个DruidDataSource的监控数据
spring.datasource.druid.use-global-data-source-stat=trues

3.测试是否配置成功

我直接使用我自己的端口进行测试,打开浏览器输入地址:

http://localhost:1234/zhiyi/druid
<think>好的,我现在需要帮助用户了解如何在Spring Boot中使用Druid。首先,我得确认用户的问题是否存在拼写错误。用户提到了“durid”,这应该是“Druid”,也就是阿里巴巴开源的数据库连接池。接下来,我需要考虑用户可能的背景。他们可能已经对Spring Boot有一定的了解,现在想集成Druid来优化数据库连接管理。 用户的需求可能包括如何配置Druid,基本的依赖添加,以及监控功能的启用。同时,他们可能想了解Druid的优势,比如性能监控、SQL防注入等。我需要确保回答涵盖这些方面,并提供实际的配置示例,比如YAML配置和监控页面的设置。 此外,用户可能不知道Druid的一些高级功能,比如防火墙配置和统计功能,这些也需要简要提及。需要提醒用户注意版本兼容性,不同Spring Boot版本可能对应不同的Druid版本,但用户可能没有明确说明他们使用的版本,所以给出一个通用的示例会更安全。 最后,要确保回答结构清晰,分步骤说明,让用户能够逐步跟进。还要注意代码块和格式的正确性,避免拼写错误,比如之前用户提到的“durid”要纠正为“Druid”。可能需要检查之前的对话历史,确保没有重复信息,但在这个案例中,用户之前询问的是MySQL连接器,现在是新的主题,所以无需担心重复。 总结回答的结构:介绍Druid及其优势,添加依赖的步骤,配置文件的示例,监控配置的方法,注意事项,以及一个完整的代码示例。这样用户可以从头到尾了解整个集成过程,并能够实际应用到项目中。</think>$$Spring Boot 集成 Druid 连接池指南$$ Druid 是阿里巴巴开源的数据库连接池,相比 HikariCP 等连接池,提供了更强大的**监控统计**和**防御 SQL 注入**功能。以下是 Spring Boot 集成方案: $$核心优势$$ 1. **性能监控**:实时查看 SQL 执行统计 2. **防火墙功能**:防御 SQL 注入攻击 3. **数据源管理**:支持密码加密/解密 4. **Web 监控台**:可视化查看连接池状态 $$实施步骤$$ **1. 添加依赖** ```xml <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.18</version> </dependency> ``` **2. 配置 application.yml** ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/testdb username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource druid: initial-size: 5 min-idle: 5 max-active: 20 # 启用监控统计功能 stat-view-servlet: enabled: true url-pattern: /druid/* login-username: admin login-password: druid123 web-stat-filter: enabled: true exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*" ``` **3. 访问监控界面** 启动项目后访问:`http://localhost:8080/druid` 输入配置的账号密码即可查看: - 数据源状态 - SQL 执行统计 - URI 访问监控 - Session 跟踪 $$注意事项$$ 1. **版本兼容**:Spring Boot 2.x 建议使用 `druid-spring-boot-starter` 2. **生产安全**:务必修改监控页面的默认账号密码 3. **SQL 防火墙**:通过 `wall` 配置项启用防御功能 4. **慢 SQL 日志**:配置 `slow-sql-millis` 参数捕获慢查询 $$配置示例扩展$$ ```java // 自定义配置过滤器(可选) @Configuration public class DruidConfig { @Bean public ServletRegistrationBean<StatViewServlet> statViewServlet() { ServletRegistrationBean<StatViewServlet> bean = new ServletRegistrationBean<>(new StatViewServlet(), "/druid/*"); bean.addInitParameter("allow", "127.0.0.1"); // 白名单 return bean; } } ``` 该方案相比默认连接池性能损耗约 1-2%,但提供了更完善的企业级功能,建议用于生产环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZNineSun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值