1.概念:首先我们先了解什么是连接池。我们在编写JDBC程序时通常的步骤是注册驱动、获取连接、获得执行SQL语句对象、增删改查数据,也就是说每一个对数据库记录的操作都要执行一遍这些步骤。一个java程序的业务逻辑层就是通过调用每一个数据库表格对应的数据管理类来完成业务操作,也就是说一个java程序有多个数据管理类而且这些类需要多次调用。如果每次调用执行数据管理类需要执行之前的那些操作那样的话执行效率很低,而我们不难发现其实每一次执行JDBC类其中有些操作是相同的,如注册驱动、获取连接、获得执行SQL语句对象,那这些获得的资源就可以把它们包装成工具类,用来使用,这样整个java程序执行的效率就会大大提升。由此,连接池的概念诞生。连接池简单来说就是储存和管理连接对象,它会在整个程序启动前就创建一定数量的连接对象,其他类调用连接池的某些方法获得连接、归还连接。
2.连接池的实现原理:连接池,储存和管理连接对象。储存,我们可以将创建的连接对象储存在数组或者集合中。而管理,就是定义方法从存放连接的数组或集合中获取连接。为了方便使用连接池,将连接池包装成工具类,即连接池的成员变量、方法都用静态修饰。
1.概念:Druid是由阿里巴巴开发的开源的JDBC连接池、监控组件(但是在这里仅介绍它连接池的功能)。阿里巴巴将连接池一系列方法包装成一个工具供我们方便直接使用。
2.下载架包:要使用Druid这个工具,引入相关架包。
下载链接:https://repo1.maven.org/maven2/com/alibaba/druid/
下载最新版本,将架包引入java程序即可使用Druid连接池。
3.Druid使用关键类及相关操作:Druid这个组件还有其他功能的类,但是这里作为初学者,仅介绍连接池的相关的关键类。
- 关键类DruidDataSource:就是我们需要的连接池
- 获取DruidDataSource对象:
- 配置连接池:获得连接池后,还需我们配置连接数据库的参数
- 获取连接对象:通过调用连接池的getConnection方法获取连接对象
- 释放资源
我们用完连接后需要释放资源,之前通常我们都是通过连接对象的close方法直接销毁连接对象来释放资源,而现在我们使用了连接池了,我们使用完连接对象后需要的是归还连接池。而在实际开发中为了方便使用连接池,我们通常会在连接池中强化Connection类的close方法,从而实现从连接池获得连接对象调用close方法直接执行归还连接的操作。Druid连接池就已经帮我们强化Connection类的close方法,我们可以直接通过调用从连接池获得的连接对象的close方法完成归还连接的操作。 - 配置文件配置连接池
之前我们配置连接池是通过某些方法来配置连接池,但是在实际开发中我们这样配置连接池,如果需要更改连接数据库的一些参数,那就很麻烦。我们就需要通过资源文件来配置连接池。
1)编写资源文件
这里以编写properties资源文件为例
注意:这里driverClassName、url等参数名应原样编写,大小写不能错误,因为配置连接池就是通过调用properties类来获取参数,而properties类获取资源就是就是通过参数名来获取的。
2)资源文件配置连接池
编写好资源文件后,我们就需要通过资源文件来配置连接池。首先我们需要将资源文件写入内存中,然后用过DruidDataSourceFactor.createDataSource(properties)此方法创建连接池,参数为Properties类对象。
- 再次包装
在创建连接池后,我们不能发现整个程序只需要一个连接池那我们则可以再次包装一个工具类,这个类只创建一个连接池,定义一个方法调用连接池的getConnection方法来返回一个连接对象。
以上就是Druid连接池简单用法。通过连接池可以简化我们在编写JDBC的代码,同时也大大提高程序的执行效率。其实我们再回头看看每个编写的JDBC程序会发现,大多JDBC程序基本就一个SQL语句不同,其他代码基本相同,于是就有Dbutils工具,它又更好地帮我们简化了编写JDBC的代码,感兴趣的可以了解一下。
到此这篇druid数据库连接池(druid数据库连接池不释放)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/sjkxydsj/82693.html