如何数据库连接池dbcp

首先需要导入jar包,mysql的jar包也需要导入


然后添加配置文件,注意这里的配置文件一般是放在项目根目录的,但是博主这里放在了根目录下面的

resource文件夹下,所以在写配置文件路劲时候,需要注意











博主配置文件:

driverClassName=com.mysql.jdbc.Driver
url=jdbc\:mysql\://127.0.0.1\:3306/test?useUnicode\=true&characterEncoding\=UTF-8
username=root
password=depp
maxActive=30
maxIdle=10
maxWait=1000
initialSize=5
minIdle=1
removeAbandoned=true





获得Connection连接

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;

import javax.sql.DataSource;

import org.apache.commons.dbcp2.BasicDataSourceFactory;


public class DBCPUtil {
	/**
	 * 数据源
	 */
	private static DataSource DS;
	private static final String configFile="dbcp.properties";
	
	/**
	 * 构造函数
	 */
	public DBCPUtil(){
		initDbcp();
	}
	
	private static void initDbcp(){
		Properties pops=new Properties();
		
		File file = new File(configFile);
		FileInputStream in=null;
		
		try {
			//读取配置文件
			in = new FileInputStream(configFile);
			pops.load(in);
			
			/**
			 * 空指针异常
			 * pops.load(Object.class.getResourceAsStream(configFile));
			 * 
			 */
			
			//通过dbcp的工厂方法创建一个DS对象
			DS=BasicDataSourceFactory.createDataSource(pops);
			 
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public Connection getConn(){
		Connection con=null;
		
		if(DS!=null){
			try {
				con=DS.getConnection();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
			try {
				//关闭自动提交
				con.setAutoCommit(false);
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
			return con;
		}
		
		return con;
	}

}





经测试,使用dbcp获得连接的速度更快





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值