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做参数的  可能是配置文件配置的问题 一直不成功

如果有谁知道这个方法怎么用的话也请指教下 多谢咯~