📄 poolbean.java~59~
字号:
package eshop;
import java.sql.*;
import java.util.*;
public class PoolBean {
private int inUse=0;
private int maxconn;
private Vector connections=new Vector();
private String poolMessage;
private String driver;
private String url;
private String username;
private String password;
/*构造函数*/
public PoolBean() {
driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=eshop";
username="sa";
password="";
maxconn=100;
}
/*将连接返回给连接池*/
public synchronized void releaseConnection(Connection conn){
connections.addElement(conn);
inUse--;
}
/*从连接池得到一个连接*/
public synchronized Connection getConnection(){
Connection conn=null;
if(connections.size()>0){
conn=(Connection)connections.elementAt(0);
connections.removeElementAt(0);
try{
if(conn.isClosed()){
conn=getConnection();
}
}
catch(Exception e){
e.printStackTrace();
poolMessage="错误!试图获取连接时出错!";
}
}
else if(maxconn==0||inUse<maxconn){
conn=newConnection();
}
if(conn!=null){
inUse++;
}
return conn;
}
/*创建新的连接*/
public Connection newConnection(){
Connection conn=null;
try{
Class.forName(driver);
conn=DriverManager.getConnection(url,username,password);
}
catch(Exception e){
e.printStackTrace();
poolMessage="错误!建立连接时出错!";
return null;
}
return conn;
}
/*关闭所有的连接*/
public synchronized void closeConn(){
Enumeration allConnections=connections.elements();
while(allConnections.hasMoreElements()){
Connection conn=(Connection)allConnections.nextElement();
try{
conn.close();
}
catch(Exception e){
e.printStackTrace();
poolMessage="错误!关闭连接时错误!";
}
connections.removeAllElements();
}
}
public String getPoolMessage(){
return poolMessage;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -