java数据库连接池配置的几种方法

Python011

java数据库连接池配置的几种方法,第1张

数据库连接池的主要操作如下:

(1)建立数据库连接池对象(服务器启动)。

(2)按照事先指定的参数创建初始数量的数据库连接(即:空闲连接数)。

(3)对于一个数据库访问请求,直接从连接池中得到一个连接。如果数据库连接池对象中没有空闲的连接,且连接数没有达到最大(即:最大活跃连接数),创建一个新的数据库连接。

(4)存取数据库。

(5)关闭数据库,释放所有数据库连接(此时的关闭数据库连接,并非真正关闭,而是将其放入空闲队列中。如实际空闲连接数大于初始空闲连接数则释放连接)。

(6)释放数据库连接池对象(服务器停止、维护期间,释放数据库连接池对象,并释放所有连接)。

用c3po来创建数据库连接池,

1.到网络上下载c3p0-0.9.0.4.jar包,导入工程;(注意以下方法只能用于web服务).

2.找出web服务器中conf目录下的centent.xml,在里面加上以下配置

<Resource auth="Container"

description="DB Connection"

driverClass="com.mysql.jdbc.Driver"

maxPoolSize="4"

minPoolSize="2"

acquireIncrement="1"

name="jdbc/TestDB"

user="root"

password="root"

factory="org.apache.naming.factory.BeanFactory"

type="com.mchange.v2.c3p0.ComboPooledDataSource"

jdbcUrl="jdbc:mysql://localhost:3306/自己的数据库名?autoReconnect=true" />

3.java获取连接池的代码;

import java.sql.Connection

import java.sql.SQLException

import javax.naming.InitialContext

import javax.naming.NamingException

import javax.sql.DataSource

public class DBUtils {

static InitialContext ic

static DataSource ds

static{

try {

ic = new InitialContext()

ds = (DataSource)ic.lookup("java:comp/env/jdbc/TestDB")

} catch (NamingException e) {

// TODO Auto-generated catch block

e.printStackTrace()

}

}

public static Connection getCon() {

try {

return ds.getConnection()

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace()

return null

}

}

}

通过以上代码,即可获取连接池中的连接.