📄 connectionpool.java
字号:
package com.accp.DB;
import java.util.*;
import java.sql.*;
public class ConnectionPool {
private ArrayList pools=new ArrayList();
private String driver;
private String url;
private String uesrname;
private String password;
private int size=5;
public ConnectionPool() {
}
public synchronized void initialPools() throws Exception{
if(driver==null){
System.out.print("dirver不能为空");
}
if(url==null){
System.out.println("url不能为空");
}
if(size<0){
System.out.println("大小不能为零");
}
Class.forName(driver);
for(int i=0;i<size;i++){
Connection con=DriverManager.getConnection(url,uesrname,password);
PooledConnection poolcon=new PooledConnection(con);
poolcon.setInUser(false);
pools.add(poolcon);
}
}
public synchronized void close(){
try{
Iterator its=pools.iterator();
while(its.hasNext()){
PooledConnection pool=(PooledConnection)its.next();
pool.close();
}
pools=null;
}catch(Exception e){
e.printStackTrace();
}
}
public synchronized Connection getConnection()throws Exception{
Iterator its=pools.iterator();
while(its.hasNext()){
PooledConnection poolCon=(PooledConnection)its.next();
if(!poolCon.isInUser())
poolCon.setInUser(true);
return poolCon.getConnection();
}
Class.forName(driver);
Connection con=DriverManager.getConnection(url,uesrname,password);
PooledConnection poolcon=new PooledConnection(con);
poolcon.setInUser(true);
pools.add(poolcon);
return con;
}
public synchronized void releaseConnection(Connection con){
Iterator its=pools.iterator();
while(its.hasNext()){
PooledConnection poolcon=(PooledConnection)its.next();
if(poolcon.getConnection()==con)
{
poolcon.setInUser(false);
break;
}
}
}
public String getDriver() {
return driver;
}
public void setDriver(String driver) {
this.driver = driver;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getUesrname() {
return uesrname;
}
public void setUesrname(String uesrname) {
this.uesrname = uesrname;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -