- 浏览: 275792 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
plg17:
properties文件中文自动转码问题确实给开发带来不便,按 ...
eclipse .properties插件 -
sorriest-siben:
帅哥,你的例子是不是笔误了呀应该是这样的吧<result ...
struts2 redirect 传参数 -
Masket874:
沙发。。。。。
session的监听器 -
spp_1987:
<%@page import="java.ne ...
jsp输出静态的图片 -
spp_1987:
如何 限制输出图片大小。 还有我的后台报错 出来一个异常:
严 ...
jsp输出静态的图片
dbcp使用
--------------------
dbcp提供了数据库连接池;
可以在spring,iBatis,hibernate中调用dbcp完成数据库连接,框架一般都提供了dbcp连接的方法;
tomcat中也提供了dbcp的jndi设置方法;
也可以不在框架中使用dbcp,单独使用dbcp需要3个包:common-dbcp.jar,common-pool.jar,common-collections.jar
下面是个dbcp的实用类,通过它可以完成DBCP的使用:
package dbcp; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.HashMap; import java.util.Map; import javax.sql.DataSource; import org.apache.commons.dbcp.BasicDataSource; /** * @author space * @date Aug 12, 2008 3:25:49 PM * * dbcp 实用类,提供了dbcp连接,不允许继承; * * 该类需要有个地方来初始化 DS ,通过调用initDS 方法来完成,可以在通过调用带参数的构造函数完成调用,可以在其它类中调用,也可以在本类中加一个static{}来完成; */ public final class DbcpBean { /** 数据源,static */ private static DataSource DS; /** 从数据源获得一个连接 */ public Connection getConn() { try { return DS.getConnection(); } catch (SQLException e) { System.out.println("获得连接出错!"); e.printStackTrace(); return null; } } /** 默认的构造函数 */ public DbcpBean() { } /** 构造函数,初始化了 DS ,指定 数据库 */ public DbcpBean(String connectURI) { initDS(connectURI); } /** 构造函数,初始化了 DS ,指定 所有参数 */ public DbcpBean(String connectURI, String username, String pswd, String driverClass, int initialSize, int maxActive, int maxIdle, int maxWait) { initDS(connectURI, username, pswd, driverClass, initialSize, maxActive, maxIdle, maxWait); } /** * 创建数据源,除了数据库外,都使用硬编码默认参数; * * @param connectURI 数据库 * @return */ public static void initDS(String connectURI) { initDS(connectURI, "root", "password", "com.mysql.jdbc.Driver", 5, 100, 30, 10000); } /** * 指定所有参数连接数据源 * * @param connectURI 数据库 * @param username 用户名 * @param pswd 密码 * @param driverClass 数据库连接驱动名 * @param initialSize 初始连接池连接个数 * @param maxActive 最大激活连接数 * @param maxIdle 最大闲置连接数 * @param maxWait 获得连接的最大等待毫秒数 * @return */ public static void initDS(String connectURI, String username, String pswd, String driverClass, int initialSize, int maxActive, int maxIdle, int maxWait) { BasicDataSource ds = new BasicDataSource(); ds.setDriverClassName(driverClass); ds.setUsername(username); ds.setPassword(pswd); ds.setUrl(connectURI); ds.setInitialSize(initialSize); // 初始的连接数; ds.setMaxActive(maxActive); ds.setMaxIdle(maxIdle); ds.setMaxWait(maxWait); DS = ds; } /** 获得数据源连接状态 */ public static Map<String, Integer> getDataSourceStats() throws SQLException { BasicDataSource bds = (BasicDataSource) DS; Map<String, Integer> map = new HashMap<String, Integer>(2); map.put("active_number", bds.getNumActive()); map.put("idle_number", bds.getNumIdle()); return map; } /** 关闭数据源 */ protected static void shutdownDataSource() throws SQLException { BasicDataSource bds = (BasicDataSource) DS; bds.close(); } public static void main(String[] args) { DbcpBean db = new DbcpBean("jdbc:mysql://localhost:3306/testit"); Connection conn = null; Statement stmt = null; ResultSet rs = null; try { conn = db.getConn(); stmt = conn.createStatement(); rs = stmt.executeQuery("select * from test limit 1 "); System.out.println("Results:"); int numcols = rs.getMetaData().getColumnCount(); while (rs.next()) { for (int i = 1; i <= numcols; i++) { System.out.print("\t" + rs.getString(i) + "\t"); } System.out.println(""); } System.out.println(getDataSourceStats()); } catch (SQLException e) { e.printStackTrace(); } finally { try { if (rs != null) rs.close(); if (stmt != null) stmt.close(); if (conn != null) conn.close(); if (db != null) shutdownDataSource(); } catch (Exception e) { e.printStackTrace(); } } } }
发表评论
-
小学数学竞赛题:1-9 填充 3 * 3 格
2009-07-15 14:27 1866用 java 实现这么 一道 小学数学竞赛题: 用1-9 ... -
事务 transaction
2009-04-21 15:32 1114事务 即 transaction 是个什么概念,又为什么有事务 ... -
struts2 redirect 传参数
2009-04-14 12:40 3738struts2 redirect 时如果想传参数示例如下,注意 ... -
eclipse .properties插件
2008-12-30 10:32 26485资源文件 即 .properties ... -
hql oracle 比较 日期时间
2008-12-25 10:58 13891oracle 里比较date类型时 ... -
单例模式-简单示范
2008-11-01 16:56 1268======所谓单例模式====== 即项目中某个类,只生成1 ... -
一道有关 变量、对象 作用域的java面试题
2008-11-01 16:50 1282这道java面试题,主要考了以下2点: * 变量、对象 作 ... -
struts2.0.11.2 的 validator 功能的 1个bug
2008-10-08 16:38 3348今天又用了一下struts2的validator功能,也就是校 ... -
log4j 配置详解
2008-10-06 19:22 4090转载 自 http://zhang-hong-cai-sina ... -
security 获得登陆用户
2008-10-06 19:00 2451如何在 security 中 获得 user 信息?由 sec ... -
java 反编译
2008-09-30 00:08 1460有时候需要将现有的 java 类,即 .class 文件编译成 ... -
acegi 的 session 控制 和 自定义的 remember-me 功能 冲突解决
2008-09-22 11:29 1692将 org.acegisecurity.context.Htt ... -
jsp输出静态的图片
2008-09-19 16:14 65692个方式,jsp中直接输出静态图片: img.jsp &l ... -
jstl core
2008-09-16 12:24 1640jstl core 的标签使用 jstl-core.jsp ... -
jstl fmt
2008-09-12 15:44 382151)导入jstl 包,加载ftm标签 首先将jstl的jar包 ... -
session 过期时间设置
2008-09-10 18:08 8048原文地址:http://hailan1987.blog ... -
session的监听器
2008-09-10 17:35 2729javax.servlet.http.HttpSession ... -
eclipse 快捷键
2008-09-03 15:00 61841)设置eclipse的快捷键 打开eclipse,Windo ... -
ant 风格的 url 匹配
2008-08-21 14:33 4299转载自:http://hi.baidu.com/xiaolan ... -
tomcat dbcp jndi 配置
2008-08-11 16:33 5069使用tomcat6,mysql6 1)添加jar包tomcat ...
相关推荐
DBCP使用的包
DBCP重要参数说明如下:参数含义说明initConn初始化连接个数连接池初始化的大小maxConn最大活动连接个数最大活动连接,默认是20个,根据业务情况来决
JavaEE DBCP简单案例
dbcp连接池小例子
COMMONS DBCP的使用与配置COMMONS DBCP的使用与配置COMMONS DBCP的使用与配置
JavaEE 使用Tomcat的自带DBCP管理数据源案例
使用dbcp需要用到的jar包
单独使用dbcp需要3个包:common-dbcp.jar,common-pool.jar,common-collections.jar 由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库...
DBCP(DataBase Connection Pool)是 apache common上的一个 java 连接池项目,也是 tomcat 使用的连接池组件,依赖 于Jakarta commons-pool 对象池机制,DBCP可以直接的在应用程序中使用。 使用DBCP会用到commons-...
开发工具 commons-dbcp2-2.1.1开发工具 commons-dbcp2-2.1.1开发工具 commons-dbcp2-2.1.1开发工具 commons-dbcp2-2.1.1开发工具 commons-dbcp2-2.1.1开发工具 commons-dbcp2-2.1.1开发工具 commons-dbcp2-2.1.1开发...
DBCP的依赖Jar包,完整的,亲测能用,欢迎下载!DBCP的依赖Jar包,完整的,亲测能用,欢迎下载!
赠送jar包:commons-dbcp-1.4.jar; 赠送原API文档:commons-dbcp-1.4-javadoc.jar; 赠送源代码:commons-dbcp-1.4-sources.jar; 赠送Maven依赖信息文件:commons-dbcp-1.4.pom; 包含翻译后的API文档:commons-...
dbcp jar包 一个是dbcp的包, 一个是pool包, 两者都导入工程
创建dbcp连接,dbcp(Spring)
使用DBCP链接池详解附加代码例子 很详细的 新手学习用
一个dbcp连接池的使用例子,包含jar包,配有说明文档
建议使用DBCP1.4或1.3 + commons pool 1.6 Tomcat7 中保留DBCP连接池,以兼容已有应用。并提供了新的Tomcat JDBC pool作为DBCP的可选替代。新出的Tomcat JDBC pool,据说比DBCP 1.4要好,未接触,也不在本文讨论...
commons中的DBCP连接池jar,用于利用dbcp链接数据库
DBCP连接池DBCP和C3P0配置,可以对数据源进行各种有效的控制
dbcp连接池所使用的jar和案例,commons-collections-3.2.1.jar,commons-dbcp-1.4.jar,commons-pool-1.6.jar