Jdbc六步骤,Jdbc的封装、sql注入与预编译,自定义连接池,本质上一直在做一件事情,封装工具类JdbcUtil,并一步一步将其优化。需要我们自己封装么?其实有现成的框架可以直接用,市面上也有几个常用的开源连接池:c3p0以及阿里巴巴的德鲁伊。
既然是开源,那么经过多版本的迭代,功能肯定更加地强大,使用起来也更加地方便。
看c3p0官网:

①下载地址
点进去可以下载最新版的c3p0。
②文档说明
也就相当于工具说明书,不然别人也不知道怎么使用c3p0,那么具体如何使用?

①导包
将说明中的这两个jar包导入开发工具IDEA即可。
④创建数据源
文档中有编写的代码模板,我们只需要复制过来修改其中的参数就可以了,这些参数都很熟悉。
前几天学过配置文件,将这几个常用参数放入配置文件里面,这样代码也能更具有可拓展性。
既然我们都能想到配置文件,那官方文档中自然也会有它的说明,继续看文档:

⑤配置方法
其中有四种配置方式,最常见的是使用xml来配置。
⑥xml文件的设置
其中文件名要以“c3p0-config.xml”的命名规则,不然没法运行,并且要放在IDEA的src路径里面。
至于其配置文件如何编写,一样还是继续套用模板,我们只需要修改其中的属性:

⑦数据库连接参数
设置成自己的参数即可。
⑧连接池参数
这个在具体的项目中设置不同的参数,其实理解起来也都是见名知意的:

②从连接池中获取连接
直接从c3p0连接池中获取连接。
③预编译及处理结果
④释放资源
close方法本来的意思是将连接销毁掉,但事实上c3p0中close方法是将连接返回到连接池中而不是销毁。
在GitHub中可以找到druid:

中文译名:德鲁伊。这是阿里巴巴开源的一个数据库连接池。
Druid是目前最好的数据库连接池。在功能、性能、扩展性方面,都超过其他数据库连接池,想想一年一度的双十一,春运的抢火车票也就能理解了。

①创建德鲁伊对象
我们可以发现其API还是那些属性设置,当然这是最基础的4个,还有一些比如连接池大小什么的,这些要具体项目再设置。
②配置文件druid.properties
同样的道理,可以将这些属性放到一个配置文件里面,从而提高代码的拓展性。
c3p0中使用的是xml,德鲁伊中使用properties。
配置文件完成,那如何使用它呢?

①工厂设计模式
DruidDataSourceFactory,德鲁伊数据源工厂,既然是工厂那通过它就可以直接创建数据源,其中参数即为所编写的配置文件,其余步骤也就是连接数据库的常规操作了。
②从连接池中获取连接
③预编译及处理结果
④释放资源
同样的道理,德鲁伊中也改造了连接的close方法。
今天学了连接池,那么也可以把连接池封装进JdbcUtil中,比如说我们使用德鲁伊连接池:

①将德鲁伊封装进JdbcUtil类中
通过工厂设计模式获取数据源
②获取连接封装
通过德鲁伊数据源获取连接
③释放资源
其中连接的close方法被改造了,并不是释放连接而是将连接放回连接池。
优化好JdbcUtil类后,再直接用JdbcUtil类获取连接,实际上就是德鲁伊连接池的连接。