电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

什么是数据库连接池

什么是数据库连接池_第1页
1/27
什么是数据库连接池_第2页
2/27
什么是数据库连接池_第3页
3/27
一、数据库连接池 1 . 什么是连接池 传统的开发模式下,Serv let 处理用户的请求,找 Dao查询数据,dao 会创建与数据库之间的连接,完成数据查询后会关闭数据库的链接。 这样的方式会导致用户每次请求都要向数据库建立链接而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长。假设网站一天 10 万访问量,数据库服务器就需要创建 10 万次连接,极大的浪费数据库的资源,并且极易造成数据库服务器内存溢出、宕机。 解决方案就是数据库连接池 连接池就是数据库连接对象的一个缓冲池 我们可以先创建 10 个数据库连接缓存在连接池中,当用户有请求过来的时候,dao 不必创建数据库连接,而是从数据库连接池中获取一个,用完了也不必关闭连接,而是将连接换回池子当中,继续缓存 使用数据库连接池可以极大地提高系统的性能 2 . 实现数据库连接池 jdbc 统一了数据库的操作 定义了规范 jdbc 针对数据库连接池也定义的接口java.sql.DataSource,所有的数据库连接池实现都要实现该接口 该接口中定义了两个重载的方法 Connection getConnection() Connection getConnection(String username,String passw ord) 数据库连接池实现思路 1)定义一个类实现java.sql.DataSource 接口 2)定义一个集合用于保存 Connection 对象,由于频繁地增删操作,用LinkedList 比较好 3)实现getConnection 方法,在方法中取出LinkedList集合中的一个连接对象返回 注意: 返回的Connection 对象不是从集合中获得,而是删除 用户用完Connection,会调用close 方法释放资源,此时要保证连接换回连接池,而不是关闭连接 重写close 方法是难点,解决方案:装饰设计模式、动态代理 二、 数据源 通常我们把 DataSou rce 的实现,按其英文含义称之为数据源,数据源中都包含了数据库连接池的实现。 一些开源组织提供了数据源的独立实现,常用的有: DBCP 数据库连接池 C3P0 数据库连接池 1. DBCP 数据源 介绍 DBCP 是 Apache 软件基金组织下的开源连接池实现 tomcat 服务器就是使用 DBCP 作为数据库连接池 使用 DBCP 数据源,需要导入两个 jar 包 Commons-dbcp.jar:连接池的实现 Commons-pool.jar:连接池实现的依赖库 DBCP 核心 API BasicDataSource 数据源实现 BasicDataSourceFactory 用于创建数据源的工厂类 dbcp 创建连接池 方法1: 直接创建对象,设置参数 BasicDataSou...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

什么是数据库连接池

您可能关注的文档

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部