首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

一种连接池的兑现方案

2012-12-24 
一种连接池的实现方案DB.javapackage wkx.dbimport java.sql.Connectionimport java.sql.DriverManager

一种连接池的实现方案

DB.java


package wkx.db;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.util.LinkedList;public class ConnPool {public static final int MAX_CONN_NUM = 10;private static LinkedList<Connection> conns = null;private static int connNum = 0;static {conns = new LinkedList<Connection>();}private ConnPool(){}public static Connection getConn() {Connection conn = null;if(conns.size()==0){try {Class.forName("com.mysql.jdbc.Driver");conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/project", "root", "root");} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}connNum++;}else{conn=conns.pop();}/** *  */ConnPool.printStatus();return conn;}public static void close(Connection conn) {if(connNum>ConnPool.MAX_CONN_NUM){try {if (conn != null) {conn.close();}} catch (SQLException e) {e.printStackTrace();}conn = null;connNum--;}else{conns.push(conn);}ConnPool.printStatus();}public static void printStatus(){System.out.println("闲置连接数:"+conns.size()+"  总连接数:"+connNum+"  已使用连接数:"+(connNum-conns.size()));}}


热点排行