connectionmanager.java

来自「Java程序设计实用案例教程源代码」· Java 代码 · 共 55 行

JAVA
55
字号
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 + =
减小字号Ctrl + -
显示快捷键?