📄 connectionpool.java
字号:
package pub.conn;
import java.sql.Connection;
import java.util.Properties;
import pub.conn.exec.DBException;
/**
* 该类的设计是故意设计的,主要想认识一下连接池的设计原理,与实现方法。
* 简单的一个连接池实现,其中只有一个连接
* 把连接替换成List就是连接池
* 2009-03-19
* @author zhengguohua
* @version 1.0
* @since JDK1.6(建议)
*/
public class ConnectionPool {
//如果是池的话,则该成员作成Vector
private Connection con=null;
/**
* 缺省构造函数,创建到数据库的连接(池)。
* @throws DBException 数据库连接错误抛出此异常。
*/
public ConnectionPool()throws DBException{
open();
}
/**
* 负责调用DBEnvInit中的函数来打开连接,并形成池。
* @throws DBException 数据库连接错误抛出此异常。
*/
private void open()throws DBException{
con = DBEnvInit.getInstance().getConnection();
if(con==null) throw new DBException("数据库连接错误");
}
/**
* 从连接池中获取一个连接,在目前版本中,池的大小固定为1。在实际实现过程中采用>1的池。
* @return Connection,就是连接对象。
* @throws DBException 数据库连接错误抛出此异常。
*/
public Connection getConnection() throws DBException{
if(con==null){
open();
}
return con;
}
/**
* 负责关闭池中的某个连接,由于目前版本设计一个连接,关闭就直接关闭所有连接,没有设计参数。
*/
public void close(){
DBEnvInit.getInstance().close(con);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -