一 ConneationPool的建立
public class ConnectionPoolDemo{
连接池中,有一个存放连接对象的集合
private static Listpools;
static{
初始化,放连接对象的集合对象
pools = new ArrayList<>();
for(int i = 0;i <5;i ++){
pools = new ArrayList<>();
for(int i = 0; i<5;i++){
pools.add(JdbcUtil.getconnection());
}
}
对外暴露提供连接对象的方法
public static Connection connection() throws NoConnectionException {
//c从集合中取出第0位置的连接对象
//返回出去
if (pools.size() == 0){
throw new NoConnectionException();
}
return pools.remove(0);
}
//将连接对象添加进连接池中
//因为是一个连接池的模拟过程
//所以在调用close之后,
//还需要对connection引用
//做一个置空的操作
public static void close(Connection conn) {
pools.add(conn);
}
}
class NoConnectionException extends Exception {
@Override
public void printStackTrace(){
System.out.println(toString());
}
@Override
public String toString(){
return “没有员工了,都去干活了”;
}
}
}