DBCP 数据连接池的配置和使用
来源:互联网 发布:田岛7.0绣花软件 编辑:程序博客网 时间:2024/06/16 04:50
DBCP 数据连接池的配置和使用
标签: 数据库连接池properties数据库stringnulldatabase
2012-06-08 16:49 15947人阅读 评论(2)收藏举报
本文章已收录于:
分类:
作者同类文章X
版权声明:本文为博主原创文章,未经博主允许不得转载。
DBCP(DataBase connection pool),数据库连接池。是 apache 上的一个Java 连接池项目,也是 tomcat 使用的连接池组件。
单独使用dbcp需要3个包:common-dbcp.jar,common-pool.jar,common-collections.jar
由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库连接时直接到连接池中申请一个就行,用
完后再放回去。
获取数据库连接的类:DbcpConnection.java
- 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.dbcp.BasicDataSource;
- public class DbcpConnection {
- private static DataSource dataSource;
- private static Connection connection;
- public static void initDataSource(){
- FileInputStream is = null;
- Properties properties = new Properties();
- String driverClassName = null;
- String url = null;
- String username = null;
- String password = null;
- int initialSize = 0;
- int minIdle = 0;
- int maxIdle = 0;
- int maxWait = 0;
- int maxActive = 0;
- try {
- String path = System.getProperty("user.dir")+"\\src\\com\\xiami\\db\\connection\\";
- is = new FileInputStream(path+"dbcp.properties");
- properties.load(is);
- driverClassName = properties.getProperty("dbcp.driverClassName");
- url = properties.getProperty("dbcp.url");
- username = properties.getProperty("dbcp.username");
- password = properties.getProperty("dbcp.password");
- initialSize = Integer.parseInt((properties.getProperty("dbcp.initialSize").trim()));
- minIdle = Integer.parseInt((properties.getProperty("dbcp.minIdle")).trim());
- maxIdle = Integer.parseInt((properties.getProperty("dbcp.maxIdle")).trim());
- maxWait = Integer.parseInt((properties.getProperty("dbcp.maxWait")).trim());
- maxActive = Integer.parseInt((properties.getProperty("dbcp.maxActive")).trim());
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException ioe){
- ioe.printStackTrace();
- }finally{
- try {
- is.close();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- BasicDataSource bds = new BasicDataSource();
- bds.setUrl(url);
- bds.setDriverClassName(driverClassName);
- bds.setUsername(username);
- bds.setPassword(password);
- bds.setInitialSize(initialSize);
- bds.setMaxActive(maxActive);
- bds.setMinIdle(minIdle);
- bds.setMaxIdle(maxIdle);
- bds.setMaxWait(maxWait);
- dataSource = bds;
- }
- public static Connection getConnection() throws SQLException {
- if (dataSource == null) {
- initDataSource();
- }
- Connection conn = null;
- if (dataSource != null) {
- conn = dataSource.getConnection();
- }
- return conn;
- }
- }
连接数据库信息的配置文件:dbcp.properties
- dbcp.driverClassName=com.ibm.db2.jcc.DB2Driver
- dbcp.url=jdbc\:db2\://192.168.3.11\:50000/DBNAME
- dbcp.username=db2admin
- dbcp.password=password
- dbcp.initialSize=30
- dbcp.minIdle=10
- dbcp.maxIdle=10
- dbcp.maxWait=1000
- dbcp.maxActive=30
在Service层使用的时候:ZhiDianJieDu.java (业务逻辑处理的类)
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import com.xiami.db.connection.DbcpConnection;
- public class ZhiDianJieDu {
- DbcpConnection dbcpcon = new DbcpConnection();
- Connection conn = null;
- PreparedStatement pst = null;
- ResultSet rs = null;
- String ZLJGBM = null;
- //通过A机构编码获得B机构代码
- public void getZLJGBMFromDRJGBM(String DRJGBM){
- String sql = "select ZLJGBM from T_CONTRAST_ZL_TO_NEUSOFT where DRJGBM = '"+DRJGBM+"'";
- try {
- conn = dbcpcon.getConnection();
- pst = conn.prepareStatement(sql);
- rs = pst.executeQuery();
- while(rs.next()){
- ZLJGBM = rs.getString("ZLJGBM");
- }
- System.out.println(ZLJGBM);
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
- 顶
- 2
- 踩
- 4
- 上一篇配置监听器,创建线程定时执行业务逻辑
- 下一篇DB2 用到的基本SQL语句
相关文章推荐
- • DBCP 数据连接池的配置和使用
- • 03_dbcp数据源依赖jar包,DBCP中API介绍,不同过dbcp方式使用dbcp数据库连接池,通过配置文件使用dbcp数据库连接池
- • DBCP连接池配置参数说明 c3p0使用说明
- • tomcat-dbcp数据库连接池配置以及使用时候的一些坑
- • 数据库连接池(数据源)2: 开源数据源的使用DBCP和C3P0
- • java--开源数据库连接池(dbcp数据源)
- • Java框架数据库连接池比较(c3p0,dbcp和proxool)
- • Spring中数据库连接池的三种配置(dbcp,c3p0,proxool)(转载)
- • Spring中数据库连接池的三种配置(dbcp,c3p0,proxool)(转载)
- • 开源连接池DBCP解析
阅读全文
0 0
- DBCP 数据连接池的配置和使用
- DBCP 数据连接池的配置和使用
- DBCP 数据连接池的配置和使用
- spring下,druid,c3p0,proxool,dbcp四个数据连接池的使用和配置
- dbcp数据连接池配置
- dbcp数据连接池配置
- DBCP连接池的配置
- DBCP连接池的使用
- 连接池DBCP的使用
- [J2EE]DBCP、C3P0、Proxool三大连接池的配置参数说明和使用详解
- spring整合c3p0和DBCP连接池的简单配置
- 使用DBCP配置JDBC连接池
- dbcp和c3p0数据连接池比较
- DBCP和C3P0连接池常用配置
- DBCP和C3P0连接池配置介绍
- DBCP:使用DBCP连接池出现NoClassDefFoundError和ClassNotFoundException错误
- DBCP数据连接池
- hibernate框架和dbcp或其他连接池的使用
- 通用的进程监控脚本process_monitor.sh使用方法
- 使用MiniDumpWriteDump API 来生成程序的Dump
- SQLite学习手册(数据表和视图)
- 第二十三章 多项目集中权限管理及分布式会话——《跟我学Shiro》
- 'grep' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
- DBCP 数据连接池的配置和使用
- lua table判空
- win32(2)--窗口创建
- SQLite学习手册(内置函数)
- Android动画(View Animation之Frame Animation(逐帧动画))
- 登录令牌 Token 介绍
- SQL Server中截取字符串常用函数
- bzoj1396 识别子串【解法二】
- Unity中使用柏林噪声生成地图