使用dbcp配置数据源
来源:互联网 发布:淘宝一件代发订单回流 编辑:程序博客网 时间:2024/04/19 06:53
1.配置dbcp数据源需要两个jar包,commons-dbcp-x.x.x.jar和commons-pool.x.x.x.jar,版本的差别不是很大,当然也需要数据库驱动
2.可以使用配置文件,也可以手动直接在程序中直接配置,(建议使用配置文件比较方便些)
在程序中直接手动配置:
import java.sql.SQLException;
import org.apache.commons.dbcp.BasicDataSource;
import org.junit.Test;
public class Test1 {
@Test
public void testDBCP() throws SQLException{
//创建数据库连接池
final BasicDataSource dataSource = new BasicDataSource();
//指定数据库用户名
dataSource.setUsername("root");
//指定数据库密码
dataSource.setPassword("root");
//指定数据库的URL
dataSource.setUrl("jdbc:mysql://localhost:3306");
//指定数据库的驱动名称
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
//指定数据库连接池中初始化连接数的个数
dataSource.setInitialSize(5);
// 指定最大的连接数: 同一时刻可以同时向数据库申请的连接数
dataSource.setMaxActive(5);
//指定小连接数: 在数据库连接池中保存的最少的空闲连接的数量
dataSource.setMinIdle(2);
//等待数据库连接池分配连接的最长时间. 单位为毫秒. 超出该时间将抛出异常.
dataSource.setMaxWait(1000 * 5);
//从数据源中获取数据库连接
Connection connection = dataSource.getConnection();
System.out.println(connection);
System.out.println(connection.getClass());
}
}
输出如下:
jdbc:mysql://localhost:3306, UserName=root@localhost, MySQL-AB JDBC Driver
class org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper
2.使用配置文件创建连接池
dbcpconfig.properties文件的内容如下:(该文件是从网络中找到的一份比较完整的配置文件)
#连接设置
url=jdbc:mysql://localhost:3306/test
driverClassName=com.mysql.jdbc.Driver
username=root
password=root
#初始化连接的大小
initialSize=10
##连接池的最大数据库连接数。设为0表示无限制
maxActive=100
#连接池的最大空闲连接
maxIdle=50
#连接池的最小空闲连接
minIdle=5
#超时等待时间以毫秒为单位 6000毫秒/1000等于60秒
maxWait=80000
#JDBC驱动建立连接时附带的连接属性属性的格式必须为这样:[属性名=property;]
#注意:"user" 与 "password" 两个属性会被明确地传递,因此这里不需要包含他们。
connectionProperties=useUnicode=true;characterEncoding=utf8
#指定由连接池所创建的连接的自动提交(auto-commit)状态。
defaultAutoCommit=true
#driver default 指定由连接池所创建的连接的只读(read-only)状态。
#如果没有设置该值,则“setReadOnly”方法将不被调用。(某些驱动并不支持只读模式,如:Informix)
defaultReadOnly=
#driver default 指定由连接池所创建的连接的事务级别(TransactionIsolation)。
#可用值为下列之一:(详情可见javadoc。)NONE,READ_UNCOMMITTED, READ_COMMITTED, REPEATABLE_READ, SERIALIZABLE
import java.io.InputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;
public class Test {
private static DataSource ds;
static{
try {
//从src目录下读取配置文件
InputStream in = Test.class.getClassLoader().getResourceAsStream("dbcpconfig.properties");
Properties props = new Properties();
//使用properties来读取配置
props.load(in);
//获取数据源
ds = BasicDataSourceFactory.createDataSource(props);
Connection conn = ds.getConnection();
System.out.println(conn);
} catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getConnection(){
try {
return ds.getConnection();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
public static void main(String[] args) {
Connection conn = getConnection();
System.out.println(conn);
System.out.println(conn.getClass());
}
} }
2.可以使用配置文件,也可以手动直接在程序中直接配置,(建议使用配置文件比较方便些)
在程序中直接手动配置:
package com.silence.database;
import java.sql.Connection;import java.sql.SQLException;
import org.apache.commons.dbcp.BasicDataSource;
import org.junit.Test;
public class Test1 {
@Test
public void testDBCP() throws SQLException{
//创建数据库连接池
final BasicDataSource dataSource = new BasicDataSource();
//指定数据库用户名
dataSource.setUsername("root");
//指定数据库密码
dataSource.setPassword("root");
//指定数据库的URL
dataSource.setUrl("jdbc:mysql://localhost:3306");
//指定数据库的驱动名称
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
//指定数据库连接池中初始化连接数的个数
dataSource.setInitialSize(5);
// 指定最大的连接数: 同一时刻可以同时向数据库申请的连接数
dataSource.setMaxActive(5);
//指定小连接数: 在数据库连接池中保存的最少的空闲连接的数量
dataSource.setMinIdle(2);
//等待数据库连接池分配连接的最长时间. 单位为毫秒. 超出该时间将抛出异常.
dataSource.setMaxWait(1000 * 5);
//从数据源中获取数据库连接
Connection connection = dataSource.getConnection();
System.out.println(connection);
System.out.println(connection.getClass());
}
}
输出如下:
jdbc:mysql://localhost:3306, UserName=root@localhost, MySQL-AB JDBC Driver
class org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper
2.使用配置文件创建连接池
dbcpconfig.properties文件的内容如下:(该文件是从网络中找到的一份比较完整的配置文件)
#连接设置
url=jdbc:mysql://localhost:3306/test
driverClassName=com.mysql.jdbc.Driver
username=root
password=root
#初始化连接的大小
initialSize=10
##连接池的最大数据库连接数。设为0表示无限制
maxActive=100
#连接池的最大空闲连接
maxIdle=50
#连接池的最小空闲连接
minIdle=5
#超时等待时间以毫秒为单位 6000毫秒/1000等于60秒
maxWait=80000
#JDBC驱动建立连接时附带的连接属性属性的格式必须为这样:[属性名=property;]
#注意:"user" 与 "password" 两个属性会被明确地传递,因此这里不需要包含他们。
connectionProperties=useUnicode=true;characterEncoding=utf8
#指定由连接池所创建的连接的自动提交(auto-commit)状态。
defaultAutoCommit=true
#driver default 指定由连接池所创建的连接的只读(read-only)状态。
#如果没有设置该值,则“setReadOnly”方法将不被调用。(某些驱动并不支持只读模式,如:Informix)
defaultReadOnly=
#driver default 指定由连接池所创建的连接的事务级别(TransactionIsolation)。
#可用值为下列之一:(详情可见javadoc。)NONE,READ_UNCOMMITTED, READ_COMMITTED, REPEATABLE_READ, SERIALIZABLE
#oracle只支持READ_COMMITTED(默认),SERIALIZABLE 住程序如下:
package com.silence.database;import java.io.InputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;
public class Test {
private static DataSource ds;
static{
try {
//从src目录下读取配置文件
InputStream in = Test.class.getClassLoader().getResourceAsStream("dbcpconfig.properties");
Properties props = new Properties();
//使用properties来读取配置
props.load(in);
//获取数据源
ds = BasicDataSourceFactory.createDataSource(props);
Connection conn = ds.getConnection();
System.out.println(conn);
} catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getConnection(){
try {
return ds.getConnection();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
public static void main(String[] args) {
Connection conn = getConnection();
System.out.println(conn);
System.out.println(conn.getClass());
}
} }
1 0
- 使用dbcp配置数据源
- 使用DBCP进行数据源配置
- 使用DBCP进行数据源配置
- 使用DBCP进行数据源配置
- Tomcat 配置数据源(DBCP)和JNDI使用
- 使用DBCP或C3P0来配置数据源
- Struts配置数据源DBCP
- 三、DBCP数据源配置
- Tomcat7配置DBCP数据源
- dbcp数据源配置杂谈
- DBCP数据源使用
- 数据源DBCP的使用
- 数据源DBCP的使用
- Tomcat 6.0配置数据源(DBCP)和JNDI使用
- Tomcat 6.0配置数据源(DBCP)和JNDI使用
- Tomcat 6.0配置数据源(DBCP)和JNDI使用
- Tomcat 6.0配置数据源(DBCP)和JNDI使用
- 使用DBCP,C3P0,druid,apache-jdbc配置JNDI数据源
- JavaScript 注入攻击
- ①算法之队列解QQ密码
- Windows Serial Port Programming in C.
- Leetcode Rotate List 旋转链表
- sublime text3插件
- 使用dbcp配置数据源
- Log4j的配置方法
- openssl HOWTO证书生成 --翻译
- Linux主机见建立信任关系
- NSString 提前预习
- 第九周阅读程序配备了搜索功能的字符串类
- Swift之旅(六)协议与扩展
- 黑马程序员-(高新技术)泛型
- css选择器分类