经常使用hibernate,在使用hibernate的时候经常使用到DBCP和C3P0的连接池,某天自己突然想起自己来实现一个连接池。test了下,效果还可以,随记录之
import java.sql.Connection; import java.sql.DriverManager; import java.util.Stack; public class ConnManager { private static final int MIN_CONN = 2; private static final int MAX_CONN = 5; private static final String URL = "jdbc:sqlserver://localhost:1433;DatabaseName=RJ_Thesis"; private static final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; private static final String USER ="sa"; private static final String PASW= "sa"; private int connAmount = 0; private static Stack<Connection> connStack ; static { connStack = new Stack<Connection>(); try { Class.forName(DRIVER); } catch (ClassNotFoundException e) { e.printStackTrace(); } } private static ConnManager instance; public static synchronized ConnManager getInstance(){ if(null != instance){ return instance; } return new ConnManager(); } private ConnManager(){ for(int i = 0 ; i < MIN_CONN ; i++){ connStack.push(newConnection()); } } public synchronized void freeConnection(Connection con){ connStack.push(con); notifyAll(); } public synchronized Connection getConnection(){ Connection con = null; if(!connStack.isEmpty()){ con = connStack.pop(); }else if(connAmount < MAX_CONN){ con = newConnection(); }else{ try { wait(1000); return getConnection(); } catch (InterruptedException e) { e.printStackTrace(); } } return con; } private Connection newConnection(){ try { Connection connection = DriverManager.getConnection(URL, USER, PASW); ++connAmount; return connection; } catch (Exception e) { e.printStackTrace(); } return null; } }
发表评论
-
java中线程池
2016-06-26 16:31 364最近在看线程池的类容,自己动手实现一个 package ... -
jvm常用设置
2015-09-08 22:48 382在我们实际工作中,可能会经常对JVM有一些设置,但是很多设置都 ... -
WebService相关
2015-07-26 21:55 969之前由于工作需要 ... -
java RMI
2015-07-23 23:04 441JAVA RMI相关 分布 ... -
java 流传输压缩包
2015-07-14 23:14 576有的时候,页面上的下载文件是从后台使用流的形式下载来的,而不是 ... -
java 网络传输文件
2015-06-01 21:14 432package sterning; import java. ... -
java MD5加密
2015-03-30 14:41 295MD5是常用的加密算法,也经常用于校验信息完整,如文件的完整性 ... -
java 并发容器
2014-12-18 23:19 354在多线程的开发 ... -
java设计模式 之 builder模式
2014-12-11 22:19 412最近在看java设计模式,看到builder模式感觉十分不错, ... -
网上见到一篇compareTo文章较好,收藏之
2014-12-04 21:04 5421、compareTo(Object o)方法是jav ... -
Hibernate 和 spring 整合使用
2014-10-14 21:28 751在hibernate和spring时总结的一些知识,以供将来查 ... -
hiernate 集中管理session
2014-10-13 21:55 482问题: 使用hibern ... -
java写入txt文件
2014-05-22 23:10 1091File file = new File("d: ... -
POI读取excel
2014-05-22 23:05 899读取excel大概在java中有两种方法,选用apache的P ... -
定时器 quartz 和 spring
2014-04-17 23:30 480最近学习了一个quartz 和spring 的定时调度 这个 ... -
java 基于Struts2的 文件上传和下载
2014-04-03 22:56 531文件上传: 页面代码: <form action=' ... -
java IO
2014-03-23 23:23 410import java.io.BufferedReader ... -
自己写的一个JDBC工具类
2014-03-11 20:00 1167在最近的一段时间写毕业设计,由于本科阶段的毕业设计不是特别大的 ... -
java汉字数字转换成阿拉伯数字
2014-02-20 17:14 6553今天做一个日期转换的时候发现有些时间是用大写汉字写成的,需 ...
相关推荐
java jdbc 连接池实例 项目只要配数据源就可以直接启用, 也可以整合到你个项目里面, 可oracle、mysql、sqlserver自由切换方言。
java jdbc 连接池,代码从网上找的
包括JDBC连接池的相关代码和xml配置文件。
完美的java jdbc连接池实例.zip
在Java语言中,JDBC(Java DataBase Connection)是应用程序与数据库沟通的桥梁
这是我写的一个对JDBC连接池的实现,高手见了可不要笑啊!!!! 程序是在linux下用Eclipse下编写的. 用Jude进行建模,数据库使用了mysql. 程序自带了MySql的Connection连接驱动类,你也可以使用别的驱动类和数据库, 在src/...
jdbc 连接池 c3p0 dbcp dbutils mysql jar包和指导文档
此类非常简单,免去了网上众多资料里所说的麻烦的tomcat配置,更强...不仅oracle,mysql,sqlserver2000都行,因为它依据的是你自己连接数据库的驱动。当然首先你要保证你拥有一个能连接自己数据库的对应驱动类。如下面以
Java-JDBC【源码】数据库连接池技术、常规操作与Durid对比、测试(20-200)不同连接数下,10万记录,1万并发,CPU磁盘占用情况 1.数据库连接池 2.Durid介绍(官方文档) 3.编码,问题,常规并发操作 3.1.JDBCUtil....
java_jdbc数据库连接池总结 有讲原理,不错
Java jdbc数据库连接池Java jdbc数据库连接池Java jdbc数据库连接池Java jdbc数据库连接池
JDBC - Java 连接Mysql JDBC连接池使用工具 C3P0 连接池 and druid-1.0.9
JDBC连接池的jar包
Java连接池 JDBC连接池(通用basedao)可直接用的模板
使用java技术实现jdbc连接池 包括了全面的jar和cp30,commons-DBCP,c3p0 for linux的包,以及jdbc jars
java使用jdbc连接池时所使用的dbcp工具包,也可在官网下载
Java应用程序访问数据库的基本原理 在Java语言中,JDBC(Java ...JDBC提供两种API,分别是面向开发人员的API和面向底层的JDBC驱动程序API,底层主要通过直接的JDBC驱动和JDBC-ODBC桥驱动实现与数据库的连接。
JDBC连接池java类,直接导入就可以使用的java类
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种...通过pool连接池提高性能,并将数据库数据直接转成json对象,且封装了几种取值方式。比传统的ojdbc性能更快更高效
java jdbc帮助类 v1.0 自带连接池 boolean delete(java.lang.String sql) 删除单条记录的方法,适用于简单的sql语句 boolean delete(java.lang.String sql, java.util.Map<java.lang.Integer,java.lang.Object>...