druid 多数据源_「Java」 - SpringBoot & Druid

本文详细介绍了Druid数据库连接池的特性,包括其作为高效连接池的角色,监控性能,密码加密和SQL执行日志等功能。接着讨论了如何在Spring Boot中配置Druid,以及如何访问和配置Druid监控页面。文章还深入探讨了在项目中实现Druid多数据源的配置,包括数据源的配置、Mapper的分库以及测试用例。总结指出,Druid提供了一种简单高效的多数据源解决方案,并具有强大的SQL监控和分析能力。
摘要由CSDN通过智能技术生成

一、Druid简介

Druid是阿里巴巴开源平台上的一个项目,整个项目由数据库连接池、插件框架和SQL解析器组成。该项目主要是为了扩展JDBC的一些限制,可以让程序员实现一些特殊的需求,比如向密钥服务请求凭证、统计SQL信息、SQL性能收集、SQL注入检查、SQL翻译等,程序员可以通过定制来实现自己需要的功能。

Druid首先是一个数据库连接池,但它不仅仅是一个数据库连接池,它还包含一个ProxyDriver,一系列内置的JDBC组件库,一个SQL Parser。Druid是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。

A、Druid可以做什么

  • 替换其他Java连接池,Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。
  • 可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,对于线上分析数据库访问性能有帮助。
  • 数据库密码加密,直接把数据库密码写在配置文件中,容易导致安全问题。DruidDruiver和DruidDataSource都支持PasswordCallback。
  • SQL执行日志,Druid提供了不同的LogFilter,能够支持Common-Logging、Log4j和JdkLog,可以按需要选择相应的LogFilter,监控应用的数据库访问情况。
  • 扩展JDBC,如果要对JDBC层有编程的需求,可以通过Druid提供的Filter机制,很方便编写JDBC层的扩展插件。

二、Druid相关配置

阿里为Druid提供了Spring Boot Starter的支持。

Druid Spring Boot Starter主要是提供了很多自动化的配置,按照Spring Boot的理念对很多的内容进行了预配置,在使用的时候更加的简单和方便。

A、引入依赖包

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

B、application配置

Druid Spring Boot Starter配置属性的名称完全遵照Druid,可以通过Spring Boot配置文件来配置Druid 数据库连接池和监控,如果没有配置则使用默认值。

# 初始化大小、最小、最大连接数
spring.datasource.druid.initial-size=3
spring.datasource.druid.min-idle=3
spring.datasource.druid.max-active=10

# 配置获取连接等待超时的时间
spring.datasource.druid.max-wait=60000

# 监控后台账号和密码
spring.datasource.druid.stat-view-servlet.login-username=root
spring.datasource.druid.stat-view-servlet.login-password=root

# 配置StatFilter
spring.datasource.druid.filter.stat.log-slow-sql=true
spring.datasource.druid.filter.stat.slow-sql-millis=2000

C、访问druid监控

在MyBatis项目的基础上,增加Druid连接池的配置,以及SQL监控的配置。

配置完成后,直接启动项目访问地址http://localhost:8080/druid,就会出现druid监控后台的登陆页面&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值