📄 connectionmanager.java
字号:
package database;
import java.sql.Connection;
public class ConnectionManager {
private static final int TIME_BETWEEN_RETRIES = 500; // 0.5 秒
static private ConnectionManager instance = null;
private DBConnectionPool pool = null;
// 私有构造方法,初始化数据库的连接
private ConnectionManager() {
DBParam param = new DBParam();
String driverClassName = param.getDriverClassName();
try {
Class.forName(driverClassName).newInstance();
} catch (Exception e) {
System.out.println(e.getMessage());
}
String url = param.getDatabaseURL();
String user = param.getDatabaseUser();
String pwd = param.getDatabasePwd();
int maxConnection = param.getMaxConnection();
pool = new DBConnectionPool(url, user, pwd, maxConnection);
}
// 返回一个单独的实例,如果这个方法是第一次被调用就创建一个新的实例
public static synchronized ConnectionManager getInstance() {
if (instance == null) {
instance = new ConnectionManager();
}
return instance;
}
// 返回一个连接,调用DBConnectionPool对象的getConnection()方法
Connection getConnection() {
return pool.getConnection();
}
// 返回一个连接,调用DBConnectionPool对象的
//getConnection(long timeout)方法
Connection getConnection(long time) {
return pool.getConnectin(time);
}
// 关闭所有连接
boolean release() {
return pool.release();
}
// 关闭conn所指连接
void release(Connection conn) {
pool.freeConnection(conn);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -