- DBCP 数据库连接池(已整理)
- C3P0 数据库连接池(已整理)
- Apache Tomcat内置的连接池(apache dbcp)
《dbcp实例》
导入(dbcp数据源依赖包)commons-pool-1.5.6.jar
导入(dbcp数据源Jar包)commons-dbcp-1.4.jar
1、新建配置文件 dbcp.properties:
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql:///day11
username=root
password=root
2、新建DBCPDemo.java :
import java.io.FileReader;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;
public class DBCPDemo {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
BasicDataSource source = new BasicDataSource();
source.setDriverClassName("com.mysql.jdbc.Driver");
source.setUrl("jdbc:mysql:///day11");
source.setUsername("root");
source.setPassword("root");
// Properties prop = new Properties();
// prop.load(new FileReader("dbcp.properties"));
// BasicDataSourceFactory factory = new BasicDataSourceFactory();
// DataSource source = factory.createDataSource(prop);
conn = source.getConnection();
ps = conn.prepareStatement("select * from account");
rs = ps.executeQuery();
while (rs.next()) {
String name = rs.getString("name");
System.out.println(name);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
rs = null;
}
}
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
ps = null;
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
conn = null;
}
}
}
}
}
3、配置文件(可选):
配置文件属性:
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/jdbc
username=root
password=
#<!--初始化连接 -->
initialSize=10
#最大连接数量
maxActive=50
#<!--最大空闲连接 -->
maxIdle=20
#<!--最小空闲连接 -->
minIdle=5
#<!--超时等待时间以毫秒为单位 6000毫秒/1000等于60秒 -->
maxWait=60000