数据库连接池与DBUtils工具

一、数据库连接池
1、什么是数据库连接池
在JDBC编程中,每次创建和断开Connection对象都会消耗一定的时间和IO资源。这是因为在Java程序与数据库之间建立连接时,数据库端要验证用户名和密码,并且要为这个连接分配资源。
为了避免频繁地创建数据库连接,数据库连接池技术应运而生。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用现有的数据库连接,而不是重新建立。
数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,当应用程序访问数据库时并不是直接创建Connection,而生向连接池申请一个Connection。如果连接池中有空闲的Connection,则将返回,否则创建新的Connection。使用完毕后,连接池中有空闲的Connection回收,并交付其他的线程使用,以减少创建和断开数据库连接的次数,提高数据库的访问效率
2、DataSource接口
3、DBCP数据库
(1)commons-dbcp.jar包:DBCP数据源的实现包
(2)commons-pool.jar包:DBCP数据库连接池实现包的依赖
1)通过BasicDataSource类直接创建数据源对象
2)通过读取配置文件创建数据源对象
4、C3P0数据源
C3P0是目前最流行的开源数据库连接池之一,它实现了DataSource数据源接口,支出JDBC2和JDBC3的标准规范,易于扩展并且性能优越,著名的开源框架Hibernate和Spring都支持该数据源。
当使用C3P0数据源时,首先需要创建数据源对象,创建数据源对象可以使用ComboPooledDataSource类,该类有两个构造方法,分别是ComboPooledDataSource()和ComboPooledDataSource(String configName).
(1)通过ComboPooledDataSource()构造方法创建数据源对象
(2)通过读取配置文件创建数据源对象
二、DBUtils工具
1、DBUtils工具介绍
DBUtils工具核心是org.apache.commons.dbutils.QueryRunner类和org.apache.commons.dbutils.ResultSetHandler接口。
2、QueryRunner类
3、ResultSetHandler接口
4、ResultSetHandler实现类
(1)BeanHandler和BeanListHandler
BeanHandler和BeanListHandler实现类是将结果集中的数据封装到对应的JavaBean实例中,这也是实际开发中最常用的结果集处理方法。
(2)ScalarHandler
三、使用DBUtils实现增删改查
1、创建C3p0Utils类
2、创建DBUtilsDao类
使用QueryRunner类中带参的方法,将数据源传给QueryRunner对象,并使用QueryRunner对象创建和关闭了数据库连接。
这样就实现了用DBUtils工具对数据库的基本操作。在查询方法中,用到了BeanHandler和BeanListHandler实现类来处理结果集,查询一条数据用的是能够处理一行数据的BeanHandler类,查询所有数据时用的是能处理所有行数据的BeanListHandler类,不能重复使用,否则会造成程序报错。
3、测试DBUtilsDao 类中的增删改查
(1)增加数据
(2)修改数据
(3)删除数据
(4)查询数据

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值