- 浏览: 322295 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
ayidaweiwei:
上面已经写得很清楚了,吧里data 里面的数据定义成一个Bea ...
json对象转换成复杂Bean(包括bean、list<Bean>、Object) -
chaohua2012:
你好,如果json是这种形式呢"type" ...
json对象转换成复杂Bean(包括bean、list<Bean>、Object) -
a6892509:
大神呀
Java异常处理心得 -
liubaolin123:
请问有源码么?
restlet2.0.6+spring3.2.2+mybatis3.2.3 集成 -
xiangqian0505:
xiangqian0505 写道duan_1991 写道文章不 ...
Java异常处理心得
package com.wangjia.tools; import java.io.Serializable; import java.sql.*; import java.util.*; /** * 数据库连接池的简单实现 * @author wangjia * @version 1.0 *@serial 2301410997974776106L */ public class DbConn implements Serializable{ /** * */ private static final long serialVersionUID = 2301410997974776106L; private static List<Connection> connList=new ArrayList<Connection>(); //private static String driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";//sql2000 private static String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";//sql2005 private static String url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=Forum"; private static String userName="sa"; private static String password="sa"; private static int maxConn=20; private static int minConn=5; private static int usedConn=0; private static DbConn dbconn=null; // private static int flag=1; /** * 设置数据库连接的驱动 * @param driver 数据库连接的驱动<br/>例如:"com.microsoft.sqlserver.jdbc.SQLServerDriver" */ public static void setDriver(String driver) { DbConn.driver = driver; } /** * 设置数据库连接池的最小数量 * @param maxConn 数据库连接池的最小数量 */ public static void setMaxConn(int maxConn) { DbConn.maxConn = maxConn; } /** * 设置数据库连接池的最大数量 * @param minConn 数据库连接池的最大数量 */ public static void setMinConn(int minConn) { DbConn.minConn = minConn; } /** * 设置数据库连接的URL * @param url 数据库连接的URL,包括数据库的名称<br/>例如: "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=master" */ public static void setUrl(String url) { DbConn.url = url; } private DbConn() throws MyException{ try{ Class.forName(driver); for(int i=0;i<minConn;i++){ connList.add(DriverManager.getConnection(url,userName.toString(),password.toString())); } }catch(ClassNotFoundException e){ throw new MyException("请设置正确的数据库连接驱动!\nusing: DbConn.setDriver(String driver)"); }catch(SQLException e){ throw new MyException("请设置正确的数据库连接URL以及用于连接的用户名和密码!\n" + "using: DbConn.setUrl(String url),DbConn.setUserName(String userName),DbConn.setPassword(String password)"); } } /** * 用于得到DbConn对象 * @return 返回一个DbConn对像 */ public static Connection getConn() throws MyException{ // flag++; if(dbconn==null)dbconn=new DbConn(); // System.out.println("falg="+flag); // System.out.println("usedConn="+usedConn); if(connList.size()==0){ throw new MyException("没有正确的设置相关信息,以至连接池未初始化"); } if(usedConn==maxConn){ Thread thread=new Thread(new Runnable(){ @SuppressWarnings("static-access") public void run() { if(usedConn<maxConn){ try { try { Thread.currentThread().sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } getConn(); } catch (MyException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }); thread.start(); } if(usedConn>=minConn&&usedConn<maxConn){ try { connList.add(DriverManager.getConnection(url,userName.toString(),password.toString())); } catch (SQLException e) { } return connList.get(usedConn++); } if(usedConn<5){ return connList.get(usedConn++); } return null; } public static void close(){ try { if(usedConn>5) connList.get(--usedConn).close(); else usedConn--; } catch (SQLException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } } /** * 设置用于连接数据库的密码 * @param password 用于连接数据库的密码 */ public static void setPassword(String password) { DbConn.password = password; } /** * 设置用于连接数据库的用户名 * @param userName 用于连接数据库的用户名 */ public static void setUserName(String userName) { DbConn.userName = userName; } }
发表评论
-
restlet2.0.6+spring3.2.2+mybatis3.2.3 集成
2013-12-27 15:55 16861基于上一篇博客http://wuxiangqian.ite ... -
Mybatis3.2使用心得 中文API
2013-12-10 17:41 38999最近写一个web服务接口,用到了MyBatis3.2,把我 ... -
Internet Explorer 已对此页面进行了修改,以帮助阻止跨站点脚本
2013-05-05 15:11 17605ie浏览器提示错误的原 ... -
Java异常处理心得
2012-12-27 10:26 13199项目是基于 ... -
IE文本框内容右对齐后光标消失
2012-12-20 16:42 1939<input type="text" ... -
实践Oracle与DB2区别及问题解决
2012-12-19 13:53 1942项目进入开发阶段的时候,为了方便,一直使用 Or ... -
json对象转换成复杂Bean(包括bean、list<Bean>、Object)
2012-07-09 18:33 29640jsonWorkflowBean是json字符串 // ... -
json字符串转换成List<bean>
2012-06-05 14:52 1949String gra = JSONUtils.toJSON(g ... -
MyEclipse自动生成注释文档
2012-04-06 11:54 1145在myeclipse中导入该附件 window—pre ... -
Java实现 SSL双向认证
2012-04-01 10:01 1262我们常见的SSL验证较多的只是验证我们的服务器是否是真实正确的 ... -
JAVA 二级联动菜单
2012-03-12 13:45 2372<%@ page language="java ... -
列出某文件夹下的所有文件
2012-03-03 23:12 1044File f=new File("Derec ... -
webservices设置
2011-12-06 17:28 1125<?xml version="1.0&qu ... -
SSH整合视频 SSH整合案例 SSH整合问题解决
2011-12-05 22:01 1978个人网站:www.longhuiwang.com SSH案例 ... -
jsp播放视频文件代码
2011-12-02 21:01 18611.avi格式 代码片断如下: <object ... -
jfreechart 折线图
2011-12-01 18:35 1578package com.ssrt.group; impo ... -
myeclipse 生成注册码
2011-11-28 18:08 61package domain; import java.io ... -
myeclipse svn 安装
2011-11-28 18:07 1014一、安装方法: 方法一、如果可以上网可在线安装 1. 打开 ... -
fedora10下面访问servlet报404错误
2011-11-23 19:19 1215问题:系统在window xp下面访问servlet没有任何问 ... -
兼容火狐、IE iframe onload属性、遮罩层隐藏及显示
2011-11-15 19:59 2939<%@ page language="java ...
相关推荐
Java JDBC 数据库连接池总结 Java 语言中,JDBC(Java DataBase Connection)是应用程序与数据库沟通的桥梁。在 Web 应用开发的早期,主要使用的技术是 CGIASPPHP 等。之后,Sun 公司推出了基于 Java 语言的 ...
描述:本篇将详细介绍Java数据库连接池的概念,代码实现以及其在实际项目中的应用。数据库连接池是Java开发中优化数据库访问效率的关键技术,通过复用预创建的数据库连接,避免频繁创建和销毁连接带来的性能开销。 ...
Java数据库连接池是Java开发中一个非常重要的技术,它主要用于管理数据库连接,提高数据库操作的效率和性能。在Java应用程序中,频繁地创建和关闭数据库连接会导致大量的系统资源浪费,而连接池则可以复用已建立的...
本文将详细介绍如何在 Java 中实现一个完整的数据库连接池,并探讨其核心概念、工作原理以及如何根据需求进行配置。 首先,我们需要理解数据库连接池的基本概念。数据库连接池是一种对象池设计模式的应用,它维护了...
### JAVA 使用数据库连接池连接Oracle数据库全代码解析 #### 一、概述 本文将详细介绍如何在Java项目中使用Apache DBCP(Database Connection Pool)来连接Oracle数据库,并提供完整的示例代码。通过这种方式,我们...
本篇文章将深入解析一个自定义的JAVA数据库连接池类,帮助开发者更好地理解和运用这一关键技术。 首先,连接池的基本思想是预先创建一定数量的数据库连接,并存储在一个集合(如Vector)中,供应用程序按需获取和...
总的来说,Java数据库连接池如C3P0和Druid,以及Spring的JdbcTemplate,都是为了优化数据库操作而设计的工具。它们各自有其特点和优势,开发者可以根据项目需求选择合适的技术。在使用过程中,充分理解和合理配置...
总结,这个轻量级的Java数据库连接池提供了简单而有效的数据库连接管理方案,对于小型项目或学习数据库连接池原理是非常有价值的。通过理解其工作原理和使用方法,开发者可以更好地优化自己的应用程序,提高系统的...
Java数据库连接池是Java应用程序管理数据库连接的一种高效方式。它避免了每次需要访问数据库时创建新的连接,而是预先创建一定数量的连接并保存在池中,当程序需要时可以从池中获取,用完后归还,从而提高了系统性能...
Java数据库连接池的原理与应用 在Java开发领域,数据库连接池(Database Connection Pool,简称DBCP)是一种提高数据库访问性能、降低资源消耗的重要技术。它通过预先建立一定数量的数据库连接,存储在一个“池”中...
本文将深入探讨如何使用Java代码来实现一个简单的数据库连接池,并解释其核心概念和工作原理。 连接池的基本思想是维护一组预初始化的数据库连接,当应用程序需要时,可以从池中获取一个连接,使用完毕后,再归还回...
本示例代码展示了一个简单的数据库连接池实现,名为`DBConnectionManager`,用于管理和分配数据库连接。下面将详细解释相关知识点: 1. **单例模式**:在类`DBConnectionManager`中,可以看到`instance`变量被声明...