spring boot 系列学习记录: http://www.cnblogs.com/jinxiaohang/p/8111057.html
码云源码地址: https://gitee.com/jinxiaohang/springboot
Druid 是一个关系型数据库连接池,它是阿里巴巴的一个开源项目.Druid 支持所有 JDBC 兼容数据库,包括了 Oracle,MySQL,PostgreSQL,SQL Server,H2 等.
Druid 在监控,可扩展性,稳定性和性能方面具有明显的优势.通过 Druid 提供的监控功能,可以实时观察数据库连接池和 SQL 查询的工作情况.使用 Druid 连接池在一定程度上可以提高数据访问效率.
Druid 可以做什么?
可以监控数据库访问性能,Druid 内置提供了一个功能强大的 StatFilter 插件,能够详细统计 SQL 的执行性能,这对于线上分析数据库访问性能有帮助.
替换 DBCP 和 C3P0 .Druid 提供了一个高效,功能强大,可扩展性好的数据库连接池.
数据库密码加密.直接把数据库密码写在配置文件中,这是不好的行为,容易导致安全问题.DruidDruiver 和 DruidDataSource 都支持 PasswordCallback.
SQL 执行日志,Druid 提供了不同的 LogFilter,能够支持 Common-Logging , Log4j 和 JdkLog,你可以按需要选择相应的 LogFilter,监控你应用的数据库访问情况.
扩展 JDBC,如果你要对 JDBC 层有编程的需求,可以通过 Druid 提供的 Filter-Chain 机制,很方便编写 JDBC 层的扩展插件.
本次练习在之前 整合 Spring Data JPA 基础上进行.
一,引入依赖
1.1.0 版本
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.0</version>
</dependency>
二,添加配置
spring:
datasource:
url: jdbc:mysql://localhost:3306/test
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
druid:
#最大连接池数量
max-active: 20
#初始化大小
initial-size: 1
#最小连接池数量
min-idle: 3
# 配置获取连接等待超时的时间
max-wait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
time-between-eviction-runs-millis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
min-evictable-idle-time-millis: 300000
# 检测连接是否有效的sql
test-while-idle: true
test-on-borrow: false
test-on-return: false
#PSCache Mysql下建议关闭
poolPreparedStatements: true
statViewServlet:
#登录帐号
login-username: druid
#登录密码
login-password: druid
jpa:
hibernate:
ddl-auto: update
show-sql: true
更多配置,请参考 这里
三,启动测试
启动项目,访问 http://localhost:8080/druid 首先输入上面配置的用户名和密码 druid 进行登录:
执行一个查询请求,然后查看 SQL 监控页面:
查看数据源页面:
如果用 1.1.0 以前版本,进行配置的.启动后直接查看数据源页面只显示 (*) property for user to setup,详见 这里
来源: http://www.bubuko.com/infodetail-2471393.html