连接池与分页

思考:
程序中连接如何管理?

1.连接资源宝贵:需要对连接管理
2.连接:
a) 操作数据库,创建连接
b) 操作结束,关闭

分析:
设计频繁的连接的打开关闭,影响程序的运行效率。

用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长。假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大的浪费数据库的资源,并且极易造成数据库服务器内存溢出、拓机。

连接管理:
预先创建一组连接,有点饿时候每次取出一个;用完后,放回。

学习连接池:
1)自定义一个连接池
2)学习优秀的连接池组件
a) DBCP
b)C3P0

程序实现思路:

1)制定“初始化连接数目”(APP启动的时候,就执行创建)
2)指定“最大连接数”
3)制定“当前使用连接个数”(不能超出最大连接数)

连接池与分页_第1张图片
图片.png

参考:http://www.javaweb1024.com/java/JavaWebzhongji/2015/06/01/736.html

数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现的尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池负责分配,管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个。

代码实现:
1)MyPool.java 连接池类
2)指定全局参数:初始haunted数目,最大连接数,当前连接
3)构造函数:循环创建多个连接
4)写一个创建连接的方法
5)获取连接
--->判断:池中有连接,直接拿
---> 池中没有连接,
---> 判断,是否达到最大连接数;达到,抛出异常;没有达到最大连接数,新的连接
6)释放连接

自定义连接池

2.开源的连接池

概述:
Sun公司约定,如果是连接池技术,需要实现一个接口!Javax.sql.DataSource;
(DBCP和C3P0都要实现那个接口)

1)DBCP连接池

连接池也叫DataSource。
连接池的作用:管理连接。

DBCP是Apache软件基金组织下的开源连接池实现,使用DBCP数据源,应用程序应该在系统中增加如下两个jar包:

  • Commons-dbcp.jar: 连接池的实现
  • Commons-pool.jar: 连接池实现的依赖库
    Tomcat的连接池正式采用该连接池来实现的。该数据库连接池既可以与应用服务器整合使用,也可由应用程序独立使用。

核心类:BasicDataSource

连接池与分页_第2张图片
图片.png

你可能感兴趣的:(连接池与分页)