数据库连接池与DBUtils工具

学习目标:1.数据库连接池2.DBUtils工具学习内容:1.数据库连接池2.DBUtils工具
摘要由CSDN通过智能技术生成

学习目标:

1.数据库连接池

2.DBUtils工具

学习内容:

1.数据库连接池

1什么是数据库连接池
在JDBC编程中,每次创建和断开 Connection 对象都会消耗一定的时间和IO资源。这是因为在Java程序与数据库之间建立连接时,数据库端要验证用户名和密码,并且要为这个连接分配资源,Java程序则要把代表连接的java、sql.  Connection 对象等加载到内存中,所以建立数据库连接的开销很大,尤其是在大量的并发访问时。假如某网站一天的访问量是10万,那么,该网站的服务器就需要创建、断开连接10万次,频繁地创建、断开数据库连接势必会影响数据库的访问效率,甚至导致数据库崩溃。
为了避免频繁地创建数据库连接,数据库连接池技术应运而生。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用现有的数据库连接,而不是重新建立。接下来,通过一张图来简单描述应用程序如何通过连接池连接数据库。

2.DataSource 接口
为了获取数据库连接对象( Connection ),JDBC提供了javax. sql. Data Source接口,它负责与数据库建立连接,并定义了返回值为 Connection 对象的方法,具体如下。
Connection   getConnection ()
-Connection   getConnection (String username,String password)
上述两个重载的方法都能用来获取 Connection 对象。不同的是,第1个方法是通过无参的方式建立与数据库的连接,第2个方法是通过传入登录信息的方式建立与数据库的连接。
接口通常都会有其实现类,javax. squ. Data Source接口也不例外,通常习惯性地把实现了javax. sql. Data Source接口的类称为数据源,顾名思义,数据源即数据的来源。在数据源中存储了所有建立数据库连接的信息。就像通过指定文件名称可以在文件系统中找到文件一样,通过提供正确的数据源名称,也可以找到相应的数据库连接。
数据源中包含数据库连接池。如果数据是水,数据库就是水库,数据源就是连接到水库的管道,终端用户看到的数据集是管道里流出来的水。一些开源组织提供了数据源的独立实现,常用的有DBCP数据源和C3P0数据源。接下来的小节中,将会对这两种数据源进行详细的讲解。

3.DBCP数据源
DBCP是数据库连接池( DataBaseConnectionPool )的简称,是Apache组织下的开源连接池实现,也是Tomcat服务器使用的连接池组件。单独使用DBCP数据源时,需要在应用程序中导入两个JAR包:

1. commons-dbcp. jar包
commons-dbcp. jar包是DBCP数据源的实现包,包含所有操作数据库连接信息和数据库连接池初始化信息的方法,并实现了 DataSource 接口的 getConnection ()方法。
2. commons-pool. jar包
commons-pool. jar包是DBCP数据库连接池实现包的依赖包,为commons-dbcp. jar包中的方法提供了支持。可以这么说,没有该依赖包,commons-dbcp. jar包中的很多方法就没有办法实现。

这两个JAR包可以在Apache官网地址“ http://commons.apache.org/proper/ ”中查询下载到。其中,commons-dbcp. jar中包含两个核心的类,分别是 BasicDataSourceFactory 和 BasicDataSource ,它们都包含获取DBCP数据源对象的方法

1.通过 BasicDataSource 类直接创建数据源对象

在项目chapter10中导入mysql-connector-java-5.0.8-bin.jar 、commons-dbcp-1.4. jar以及commons-pool-1.6. jar 3个JAR包,并发布到类路径下,然后在项目的src日录下创建包cn.itcast.chapter10. example,并在该包下创建一个Example01类

 结果:

å¨è¿éæå¥å¾çæè¿°

 2.通过读取配置文件创建数据源对象
除了使用 BasicDataSource 直接创建数据源对象外,还可以使用 BasicDataSourceFactory 工厂类读取配置文件,创建数据源对象,然后获取数据库连接对象。

(1)在chapter10项目的src目录下创建 dbopconfig .  properties 文件,该文件用于设置数据库的连接信息和数据源的初

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值