druid定义 java使用_[数据库druid连接池实现]--Java版本

本文介绍了为什么要使用数据库连接池,特别是在Java web应用中推荐阿里巴巴的Druid连接池的原因。通过自定义连接池的概念,展示了Druid连接池的优势。文章包括自定义连接池的设计思路和接口实现,以及Druid连接池的使用方法。
摘要由CSDN通过智能技术生成

前言

之前有介绍一篇关于自定义的数据库链接池实现,但是质量并不高。而且遭到博友的一脸嫌弃!确实,拿出来的东西就应该保证是正确的,或者质量高,否则很容易就误导了他人,显得TMD也不道德,所以今天专门重写之前的想法,当然,还有许多文章需要更新,后期我都会一一完善,希望对各位有一定的帮助。

目前针对Java web应用使用的数据库链接池比较多也很杂,但稳定且好用的还是推荐阿里巴巴的druid(德鲁伊连接池)。那么下面就重点介绍自定义链接池和使用阿里巴巴的durid连接池,不足指出请指正。

什么是连接池?

连接池是一种创建和维护JDBC连接对象集合的机制。维护连接对象池的主要目的是利用可重用性。只有在没有可用的连接对象时才会创建新的连接对象。这种技术可以提高应用程序的整体性能。本文将尝试展示如何将这种池化机制应用于Java应用程序。

为什么要用连接池?

建立数据库连接是一个非常耗费资源的过程,需要大量的开销。而且,在多线程环境下,打开和关闭连接会使情况变得更糟。要了解创建新数据库连接的每个请求可能发生的情况,请考虑以下几点。数据库连接使用的是成立的DriverManager的数据源对象。应用程序可以调用getConnection()方法。 JDBC驱动程序请求一个JVM套接字。 JVM必须确保调用不会违反安全方面(小程序可能会出现这种情况)。 在进入网络云之前,调用可能需要通过防火墙渗透。 到达主机时,服务器处理连接请求。 数据库服务器初始化连接对象并返回到JDBC客户端(再次通过相同的过程)。 最后,我们得到一个连接对象。

这只是幕后实际情况的简单概述。放心吧,实际的过程比这个更加复杂和精细。在单线程控制的环境中,数据库事务大部分是线性的,比如打开连接,完成数据库事务,关闭连接。实际应用更复杂; 连接池的机制可以增加性能,尽管还有许多对于应用程序整体性能至关重要的其他属性。

连接池概念的复杂性在我们深入研究的过程中变得越来越难理解。但是,要感谢那些专门为连接池合作而制作图书馆的人们。这些库遵循JDBC的规范,并提供更简单的API来实际在Java应用程序中实现它们。

怎样使用连接池?

1、自定义链接池

连接池的管理用了享元模式,这里对连接池进行简单设计。

【一】、设计思路

(1).连接池配置属性DBbean:里面存放可以配置的一些属性

(2).连接池接口IConnectionPool:里面定义一些基本的获取连接的一些方法

(3).接口实现ConnectionPool:对上面操作进行实现,并加入一些其他方法

(4).连接池管理ConnectionPoolManager:管理所有的不同的连接池,所有的连接都能通过这里进行获得连接

(5).另外还有几个测试类,和连接信息模拟的类,这里就不进行xml 和配置文件信息的读取了

【二】、测试代码实现(数据库驱动版本是5.1.38、连接池版本是阿里巴巴druid-1.1.5)

代码目录结构:

e4c8195e03c8ec14a553cd9af6ad4a4c.png

(1)配置文件类

packagecom.yjf.java.bean;

importjava.io.Serializable;

/**

* Created by rooton 20170924.

* Update date:

*

* Time: 1:50 PM

* Project:test-java

* Package:com.yjf.java.bean

* Describe :</

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值