您的位置:首页 > 其它

DBCP连接池及其工具类的使用

2019-08-15 20:18 351 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/qq_41808387/article/details/99654723

准备工作:

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 初始化连接

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: