日期:2014-05-16 浏览次数:20533 次
//持有一个静态的数据库连接池对象
private static DataSource DS;
//使用DBCP提供的BasicDataSource实现DataSource接口
public static void initDataSource(String connectURI, String username,
String password, String driverClass, int initialSize,
int maxActive, int maxIdle, int maxWait) {
BasicDataSource ds = new BasicDataSource();
ds.setDriverClassName(driverClass);
ds.setUsername(username);
ds.setPassword(password);
ds.setUrl(connectURI);
ds.setInitialSize(initialSize);
ds.setMaxActive(maxActive);
ds.setMaxIdle(maxIdle);
ds.setMaxWait(maxWait);
DS = ds;
}
//获得一个数据库连接
public Connection getConnection() {
Connection con = null;
if (DS != null) {
try {
con = DS.getConnection();
} catch (Exception e) {
System.out.println(e.getMessage()); }
//将数据库连接的事物设置为不默认为自动Commit
try {
con.setAutoCommit(false);
} catch (SQLException e) {
System.out.println(e.getMessage()); }
return con;
}
//回收数据库连接时,直接使用con.close()即可
return con;
}
//回收数据库连接
protected static void shutdownDataSource() throws SQLException {
BasicDataSource bds = (BasicDataSource) DS;
bds.close();
}