第十章 JDBC数据库连接技术 第二部分 数据库连接池(了解)

• Java中的数据库连接池

通过JDBC访问数据库,每次访问都要经历与数据库建立连接,打开连接,访问数据库,关闭连接几个步骤,与数据库建立并打开连接是一件既费力又费时的工作,频繁的发生这种操作会严重耗费系统资源,导致系统性能下降,严重的会导致系统崩溃

• 数据库连接池就是为了解决上面的问题而出现的。数据库连接池负责动态的分配、管理和释放数据库连接

数据库连接池只负责连接数据库,不负责具体操作数据

在这里插入图片描述

最初时候创建几个游离的connetc对象,用的时候自己拿。

关于DataSource

• DataSource属于javax.sql包,是对java.sql包的扩展部分
。DataSource用于提供到此 DataSource对象所表示的物理数据源的连接
• DataSource 接口由驱动程序供应商实现。共有三种类型的实现:
	–基本实现
	–连接池实现
	–分布式事务实现

DataSource常用方法

• getConnection:尝试建立与此 DataSource对象所表示的
数据源的连接
• 与DriverManager. getConnection()方法相比,
DataSource有以下特点:
	–中间层
	–池化
	–完全实现数据库和应用程序的分离

DataSource示例

• 使用数据库厂商驱动中提供的DataSource实现
–使用Oracle驱动自带的DataSource实现
oracle.jdbc.pool.OracleConnectionPoolDataSource
• 使用第三方提供的DataSource实现
–Apache DBCP、C3P0

开源的数据库连接池产品

• Apache DBCP
•DBCP是一个依赖Jakarta commons-pool对象池机制的数据库连接池
.DBCP可以直接的在应用程序用使用

• C3P0
•C3P0是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate一起发
布,包括了实现jdbc3和jdbc2扩展规范说明的Connection 和Statement 池
的DataSources 对象。

• Proxool
•快速,成熟,健壮。可以透明地为你现存的JDBC驱动程序增加连接池功能
作业
• 扩展如下方法:
–int insertBatchStudent(List<Student> ls)
• 对比如下操作花费的时间:
– 1、插入100条学生信息,每次插入信息都去连接关闭数据库
– 2、插入100条学生信息,先连接,插入100条,关闭数据库
• 尝试用DataSource或者C3P0搭建数据库连接池程序

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值