DBPool的下载地址 http://www.snaq.net/java/DBPool/
数据库连接的时候开下比较大的一般是在连接部分 所以连接池起了一个很好的作用 可以在池中创建一定量的连接 这样需要的时候就可以直接使用了
在频繁操作数据库时, 能提高效率 而且使用其实也是很简单的 下面附上实现代码
1 package com.sunnyrun.init; 2 3 import java.io.IOException; 4 import java.sql.Driver; 5 import java.sql.DriverManager; 6 import java.sql.SQLException; 7 import java.util.Properties; 8 9 import snaq.db.ConnectionPool; 10 11 public class DBConnectionPool 12 { 13 public static ConnectionPool pools; 14 15 /** 16 * 静态初始化, 加载数据库驱动, 构建连接池等 17 */ 18 static 19 { 20 String driverClass = "com.mysql.jdbc.Driver"; 21 try 22 { 23 //加载数据库驱动 24 Class c = Class.forName(driverClass); 25 Driver driver = (Driver) c.newInstance(); 26 //注册数据库驱动 27 DriverManager.registerDriver(driver); 28 29 Properties prop = new Properties(); 30 //配置文件名为 db.properties 其格式是键值对的形式 31 //即url=xxxx user=xxxx 这样的形式 不过注意每个键/值对写在新的一行 32 prop.load(DBConnectionPool.class.getResourceAsStream("db.properties")); 33 //取得连接的url, user 及 password 34 String url = prop.getProperty("url"); 35 String user = prop.getProperty("user"); 36 String password = prop.getProperty("password"); 37 //设置连接池的 名字 最小连接数量 最大连接数量 池的大小 超时 连接数据库时的 URL, USER 与 PASSWORD 38 //最小 最大连接数量: 如果当前池中的连接数量小于最小数量, 或创建几个新的连接以达到最小连接数量 39 //同理, 如果达到最大连接数量, 或关闭连接 40 //应该有这样的关系 minPool <= maxPool <= maxSize 41 pools = new ConnectionPool("dbSeekHandler", 3, 30, 50, 90, url, user, password); 42 } 43 catch (ClassNotFoundException e) 44 { 45 System.out.println("加载数据库驱动失败!"); 46 e.printStackTrace(); 47 } 48 catch (InstantiationException e) 49 { 50 e.printStackTrace(); 51 } 52 catch (IllegalAccessException e) 53 { 54 e.printStackTrace(); 55 } 56 catch (SQLException e) 57 { 58 e.printStackTrace(); 59 } 60 catch (IOException e) 61 { 62 System.out.println("打开文件失败!"); 63 e.printStackTrace(); 64 } 65 } 66 67 public DBConnectionPool() 68 { 69 70 } 71 }
其上把 pools定义为了静态变量 可以在其他类中静态导入该变量 然后直接调用
1 Connection conn = pools.getConnection();
即可得到一个数据库连接
ConnectionPool还有一个这样的构造函数
ConnectionPool(String name, int minPool, int maxPool, int maxSize, long idleTimeout, String url, Properties props)
可以直接传入Properties做参数的 可能是配置文件配置的问题 一直不成功
如果有谁知道这个方法怎么用的话也请指教下 多谢咯~