数据库连接池的方式

一、数据库连接池项目中如果需要多个连接,如果一直获取连接,断开连接,这样比较浪费资源,如果创建一个池,用池来管理Connection,这样就可以重复使用Connection。有了池我们就不用自己来创建Connection,而是通过池来获取Connection对象。当使用完Connection后,调用Connection的close()方法也不会真的关闭Connection,而是把Connection“归还”给池。池就可以再利用这个Connection对象了。
这里我们常用的连接池有两种,分别是:DBCP连接池和C3P0连接池连接池
原理:LinkedList(10)—插入、删除快,头尾New Connecton();
Add()
拿连接:removeFirst()
归还:addLast();
共同点:连接池配置文件–url,username,pwd,最多的连接数,初始的连接1) Xml – 根节点,子节点
2) Properties key=value — 读取文件 — IO流
方向:Input Output文件 ----- 》 程序 输入流(read())
1、C3P0:大提高应用程序和数据库之间访问效率的
1)jar包
在这里插入图片描述
2)src下创建配置文件 c3p0-config.xml<?xml version="1.0" encoding="UTF-8"?>






连接用完了自动增加数量
初始化连接数量
最少连接数
最多连接数


3)ComboPooledDataSource–getConnnection()
2、DBCP
1)commons-dbcp2-2.1.1.jar 、commons-logging-1.2.jar、
commons-pool2-2.4.2.jar
2)dbcp.properties
driverClassName=
url=
username=root
password=
initialSize=30
maxTotal=30
maxIdle=10
minIdle=5
maxWaitMillis=1000
#程序中的连接不使用后是否被连接池回收
removeAbandonedOnMaintenance=true
removeAbandonedOnBorrow=true
3) 读取properties文件–Properties.load()
4)BasicDataSourceFactory–createDataSource
3、DBUtils-JDBC工具组成:DbUtils类:连接数据库对象QueryRunner类——SQL语句的操作对象QueryRunner(DataSource)
DataSource:数据连接池对象ResultSetHandler接口——将封装结果集中的数据,转换到另一个对象实现类:
1)BeanHandler(Class<?Extends T>)指定结果集填充对象类型?Extends T——应用时:给定的具体类型应该为T的子类(上限)
2)BeanListHandler获得对象集合:ResultSetHandler<List>=new BeanListHandler

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值