前言

本章节主要讲解Druid数据库连接池,为什么要学Druid数据库连接池呢??

我的知识储备数据库连接池有两种->C3P0,DBCP,可是现在看起来并不够用阿~当时学习C3P0的时候,觉得这个数据库连接池是挺强大的。看过的一些书上也是多数介绍了这两种数据库连接池,自己做的Demo也是使用C3P0。可是现在看起来这两种都不够了~业界发展得真快呀




druid 连接池 statement is closed_druid监控页面


druid 连接池 statement is closed_druid 多数据源_02


上面的我就没有打码了,都是一些热心的开发者评论,正因为他们的评论才促使我会去学更好的东西,也希望大家多多指点~

于是乎,我就花一点时间去学习Druid数据库连接池了…如果有错的地方往指正~~

Druid数据库连接池是阿里的,因此文档是有中文版本的,英语不好学起来也不用那么头疼.

一、Druid介绍

Druid一般的用处有两个:

  • 替代C3P0、DBCP数据库连接池(因为它的性能更好)
  • 自带监控页面,实时监控应用的连接池情况

所以本文主要是使用Druid作为数据库连接池并且使用一下实时监控应用,做个入门学习~

二、搭建Druid环境

由于简化配置,我就直接实用SpringBoot和SpringData JPA的方式来搭建一个Druid的Demo了~~~

2.1引入pom


druid 连接池 statement is closed_druid连接池_03


2.2Druid默认的配置

配置数据源的信息(Druid),和JPA相关配置~


druid 连接池 statement is closed_druid连接池配置详解_04


更多的配置要去看官方文档了~不过这里一般就够用了。

2.3配置监控页面

Druid的监控统计功能是通过filter-chain扩展实现,如果你要打开监控统计功能,配置StatFilter

配置druid数据源状态监控,配置一个拦截器和一个Servlet即可~


druid 连接池 statement is closed_druid监控页面_05


druid 连接池 statement is closed_druid连接池配置详解_06


druid 连接池 statement is closed_druid连接池配置详解_07


2.4JPA测试

POJO:


druid 连接池 statement is closed_druid连接池配置_08


Controller:


druid 连接池 statement is closed_druid连接池_09


Repository:


druid 连接池 statement is closed_druid连接池配置详解_10


在页面上访问:http://localhost:8080/findByUserName?userName=Java3y

结果:


druid 连接池 statement is closed_druid连接池_11


druid 连接池 statement is closed_druid连接池配置_12


三、最后

本文只是简单的对Druid进行入门,Druid是一个非常好的开源数据库连接池框架,更多的资料可看GitHub的文档。

参考资料:

  • 文档首页:https://github.com/alibaba/druid
  • GitHub文档问题:https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98