准备工作:
1.导包
2.数据库建表
3.dbconfig.properties文件的准备
开始使用:
一.使用dbcp连接池,进行数据的查询
package com.henu.dbcp;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;
import com.henu.dbcpuntil.DbcpUtil;
public class Demo01_DBCP {
public static void main(String[] args) throws Exception {
Properties prop = new Properties();
InputStream is = Demo01_DBCP.class.getClassLoader().getResourceAsStream("dbconfig.properties");
prop.load(is);
DataSource ds = BasicDataSourceFactory.createDataSource(prop);
Connection conn = ds.getConnection();
//Connection conn = DbcpUtil.getConnection();
PreparedStatement ps = conn.prepareStatement("select * from student");
ResultSet rs = ps.executeQuery();
while(rs.next()){
System.out.println(rs.getInt("id")+"\t"+rs.getString("name")+"\t"+rs.getInt("age")+"\t"+rs.getDate("birthday"));
}
rs.close();
ps.close();
conn.close();
}
}
二.将其封装成工具类
package com.henu.dbcpuntil;
import java.io.InputStream;
import java.sql.Connection;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;
public class DbcpUtil {
private static DataSource ds;
static {
try {
Properties prop = new Properties();
// 反射的方法获取dbconfig.properties文件
InputStream is = DbcpUtil.class.getClassLoader().getResourceAsStream("dbconfig.properties");
// 从输入流中读取属性列表(键和元素对)
prop.load(is);
// 关键步骤:使用数据源读取解析prop文件
ds = BasicDataSourceFactory.createDataSource(prop);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 提供获取数据源的方法
public static DataSource getDataSource() {
return ds;
}
// 提供获取连接的方法
public static Connection getConnection() throws Exception {
return ds.getConnection();
}
}
三、使用工具类进行查询
package com.henu.dbcp;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;
import com.henu.dbcpuntil.DbcpUtil;
public class Demo01_DBCP {
public static void main(String[] args) throws Exception {
Connection conn = DbcpUtil.getConnection();
PreparedStatement ps = conn.prepareStatement("select * from student");
ResultSet rs = ps.executeQuery();
while(rs.next()){
System.out.println(rs.getInt("id")+"\t"+rs.getString("name")+"\t"+rs.getInt("age")+"\t"+rs.getDate("birthday"));
}
rs.close();
ps.close();
conn.close();
}
}
四、DBCP的配置项
必须项
driverClassName | 驱动路径 |
---|---|
url | 数据库链接路径 |
username | 数据库用户名,一般为root |
password | 数据库密码 |
基本项
maxActive 连接池中 最大连接数量
minIdle 最小空闲连接
maxIdle 最大空闲连接
initialSize 初始化连接