本文主要是介绍DBCP数据库连接池实例(2种方法实现),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
第一种实现方式:不利用配置文件 关键代码如下:
package tan.com;import java.io.InputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;import javax.sql.DataSource;import org.apache.commons.dbcp.BasicDataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;
import org.junit.Test;
public class TestJDBC {/*** 如何使用DBCP数据库连接呢?* 1、加入2个jar包commons pool* 2、创建数据库连接池实例* 3、创建常用的属性* 4、从数据源中获取数据库连接* @throws Exception */@Testpublic void testDPCP() throws SQLException{BasicDataSource dataSource=null;//1.创建DBCP数据库源实例dataSource=new BasicDataSource();//2.为数据源实例指定必须的属性dataSource.setUsername("root");dataSource.setPassword("1234");dataSource.setUrl("jdbc:mysql://localhost:3306/tan");dataSource.setDriverClassName("com.mysql.jdbc.Driver");//3。指定数据源的一些可选的属性//1)指定数据库连接池中初始化连接数的个数dataSource.setInitialSize(5);//2)指定最大的连接数:同一时刻同时向数据库申请的连接数//最大空闲数,放洪峰过后,连接池中的连接过多,dataSource.setMaxActive(5);//3)指定最小连接数:数据库空闲状态下所需要保留的最小连接数//防止当洪峰到来时,再次申请连接引起的性能开销;dataSource.setMinIdle(2);//4)最长等待时间:等待数据库连接的最长时间,单位为毫秒,超出将抛出异常dataSource.setMaxWait(1000*5);//4.从数据源中获取数据库连接Connection connection=dataSource.getConnection();System.out.println(connection.getClass());}}
第二种方式使用配置文件:
/*** 1. 加载 dbcp 的 properties 配置文件: 配置文件中的键需要来自 BasicDataSource的属性.* 2. 调用 BasicDataSourceFactory 的 createDataSource 方法创建 DataSource* 实例* 3. 从 DataSource 实例中获取数据库连接. * @throws Exception */@Testpublic void testDBCPWithDataSourceFactory() throws Exception{Properties properties = new Properties();InputStream inStream = TestJDBC.class.getClassLoader().getResourceAsStream("dbcp.properties");properties.load(inStream);DataSource dataSource = BasicDataSourceFactory.createDataSource(properties);System.out.println( dataSource.getConnection()); }
配置文件属性:dbcp.properties
username=root
password=1234
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql:///tan
initialSize=10
maxActive=50
minIdle=5
maxWait=5000
运行结果:
jdbc:mysql:///tan, UserName=root@localhost, MySQL Connector Java
2014年5月14日 星期三笔记
这篇关于DBCP数据库连接池实例(2种方法实现)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!