Dbcp数据库连接池
2018-06-18 00:24:09来源:未知 阅读 ()
Dbcp是apache的产品
下载包地址:http://commons.apache.org/proper/commons-pool/download_pool.cgi
根据自身jdk版本下载合适的包
需要导的包:commons-dbcp-1.4.jar commons-pool-1.6.jar
Dbcp有两种获得Connection的方法:1.BasicDataSource 2.BasicDataSourceFactory
先来看看BasicDataSource
需要配置文件 Properties
db.properties 文件内容如下:
url = jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
user = root
password = 123123
forname = com.mysql.jdbc.Driver
public class Dbcp {
private static String url = null;
private static String user = null;
private static String password = null;
private static String driverClassName = null;
public static BasicDataSource ds = null;
static {
Properties prop = new Properties();
InputStream inputStream = Dbcp.class.getResourceAsStream("/propp.properties");
try {
prop.load(inputStream);
//从配置文件获得 url
url = prop.getProperty("url");
//从配置文件获得连接名 user
user = prop.getProperty("user");
password = prop.getProperty("password");
//连接驱动
driverClassName = prop.getProperty("forname");
try {
Class.forName(driverClassName).newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
//创建对象
ds = new BasicDataSource();
//把从配置文件获得的值设置给BasicDataSource
ds.setUrl(url);
ds.setUsername(user);
ds.setPassword(password);
ds.setDriverClassName(driverClassName);
//设置初始化大小
ds.setInitialSize(5);
//设置最大连接数
ds.setMaxActive(10);
//设置超过最大数等待时间
ds.setMaxWait(3000);
} catch (IOException e) {
e.printStackTrace();
}
}
//获得一个Connection连接
public static Connection getCon() {
try {
return ds.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
//简易打印测试
public static void main(String[] args) {
for(int i=0; i<15; i++) {
System.out.println(getCon());
}
}
}
相对于BasicDataSource,BasicDataSourceFactory就更简洁一点了
配置文件不变
public class Dbcp2 {
public static BasicDataSource ds = null;
static {
Properties prop = new Properties();
InputStream inputStream = Dbcp2.class.getResourceAsStream("/db.properties");
try {
prop.load(inputStream);
//直接把配置文件对象传入
//需要注意的是,配置文件的字段命名方式必须要和BasicDataSource 提供的方法对应
//比如:ds.setUrl(url); 字段就应为url
ds = (BasicDataSource) BasicDataSourceFactory.createDataSource(prop);
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getCon() {
try {
return ds.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
public static void main(String[] args) {
for(int i=0; i<8; i++) {
System.out.println(getCon());
}
}
}
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:mysql-聚簇索引
下一篇:mysql-覆盖索引
- 面试官问我:一个 TCP 连接可以发多少个 HTTP 请求?我竟然 2019-09-30
- MySQL性能优化的20条经验 2019-09-23
- 一份非常完整的MySQL规范 2019-09-17
- 数据库读写分离提高性能详解,原理是什么 2019-08-26
- 我们日常使用的数据库的数据都储存在哪里呢? 2019-08-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash