⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 poolbean.java~59~

📁 本软件简单的实现的对商店的管理
💻 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 + -