数据库连接池(Connection pooling)是程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地对池中的连接进行申请,使用,释放。
大家可以想一下,如果项目中没有数据库连接池会是一个什么样的结果?每访问一次数据库都会新建一个数据库连接,如果同事有成百上千的请求需要访问数据库那么项目会惨不忍睹。
数据库连接池就是在项目启动是就已经创建了一定数量的数据库连接,有请求访问数据库时,不需要新建数据库连接,直接在连接池中拿就可以,用完了记得放到池子里面就行。这样的话,连接池中的数据库连接会不断的重复利用,大大提高了对数据库操作的性能。
数据库连接池的运行机制有以下几点:
1.程序启动时创建数据库连接池。
2.使用连接时,从连接池中拿可用的数据库连接。
3.使用完,将数据库连接放入数据库中。
那么要想手动代码实现数据库连接池,需要哪些步骤了?下面会贴出源代码以及简单的注释。
首先需要一个数据库连接池的配置文件jdbc.properties,内容如下:
#驱动名称
jdbcDriver=com.mysql.jdbc.Driver
#连接URL
jdbcUrl=jdbc:mysql://localhost:3306/lcma
#数据库账户名
userName=root
#数据库密码
password=iflytek
#初始化连接数
initCount=10
#步进数量
stepSize=4
#最大连接池个数
poolMaxSize=150
既然是数据连接池,那么池子里面放的肯定是很多个数据库连接,一个数据库连接就是一个对象,建一个数据库连接类 PooledConnection.java代表数据库连接对象。类里面有个isBusy属性,用来表示该连接对象是否正在使用,若使用中用true表示,反之为false。代码如下:
既然是数据连接池,那么池子里面放的肯定是很多个数据库连接,一个数据库连接就是一个对象,建一个数据库连接类 PooledConnection.java代表数据库连接对象。类里面有个isBusy属性,用来表示该连接对象是否正在使用,若使用中用true表示