DBCP链接池--DataSource
【摘要】
DBCP链接池--DataSource
一、DBCP链接池的核心类
1、BasicDataSource - 此实现了javax.sql.DataSource接口。
2、BasicDataSourceFactory – 工厂类,通过读取一个资源文件,创建一个dataSource。
二、DBCP获取链接池实例
1、配置文件内...
DBCP链接池--DataSource
一、DBCP链接池的核心类
1、BasicDataSource - 此实现了javax.sql.DataSource接口。
2、BasicDataSourceFactory – 工厂类,通过读取一个资源文件,创建一个dataSource。
二、DBCP获取链接池实例
1、配置文件内容以Key--Value形式书写,Key的名称和BasicDasource类设置的属性名称是一样的,不能随便写Key的名称,不然创建BasicDataSource读取时会报错
配置文件截图如下:
配置文件内容
2、DBCP获取连接池实例
-
package com.test.dbcp;
-
-
import java.sql.Connection;
-
import java.util.Properties;
-
-
import javax.sql.DataSource;
-
-
import org.apache.commons.dbcp.BasicDataSourceFactory;
-
-
-
public class DbcpDataSource {
-
/*
-
* 重点:创建一个DataSource
-
* 步骤为:1、用Properties类读取配置文件。
-
* 2、通过工厂类,读取这个Properties类获取的配置文件,创建出DataSource
-
* DataSource作用:
-
* 创建DataSource可以返回多个连接。可以实现dbutil简化操作数据库的流程。
-
*/
-
-
//1、创建一个静态的datasource
-
private static DataSource ds;
-
//2、在静态代码块中,给ds赋值
-
static{
-
//读取资源文件
-
try{
-
Properties p = new Properties();
-
p.load(DbcpDataSource.class.getClassLoader().getResourceAsStream("dbcp.properties"));
-
//在dbcp中有一个工厂类,读取一个资源文件,创建一个datasource
-
ds = BasicDataSourceFactory.createDataSource(p);
-
System.out.println("创建DataSource为"+ds);
-
-
}catch(Exception e){
-
throw new RuntimeException(e);
-
}
-
}
-
//提供一个方法用于获取整个datasource对象
-
public static DataSource getDs(){
-
return ds;
-
}
-
//提供一个方法,获取connection连接
-
public static Connection getCon(){
-
Connection con = null;
-
try{
-
con = ds.getConnection();
-
System.out.println("通过DataSource获取connection连接"+con);
-
}catch(Exception e){
-
e.printStackTrace();
-
}
-
return con;
-
}
-
}
三、测试获取BasicDtaSource连接池和获取Connection
1、测试类
-
package com.test.ts;
-
-
import org.junit.Test;
-
-
import com.test.dbcp.DbcpDataSource;
-
-
public class DataSourceTest {
-
@Test
-
public void dstest(){
-
DbcpDataSource.getDs();
-
}
-
@Test
-
public void contest(){
-
DbcpDataSource.getCon();
-
}
-
}
2、测试结果
创建DataSource为org.apache.commons.dbcp.BasicDataSource@102e6640
通过DataSource获取connection连接jdbc:mysql://127.0.0.1:3306/long1?characterEncoding=UTF8, UserName=root@localhost, MySQL-AB JDBC Driver
文章来源: brucelong.blog.csdn.net,作者:Bruce小鬼,版权归原作者所有,如需转载,请联系作者。
原文链接:brucelong.blog.csdn.net/article/details/78030477
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)