知识大全 如何使用Java模拟.NET的连接池

Posted 数据库

篇首语:别裁伪体亲风雅,转益多师是汝师。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 如何使用Java模拟.NET的连接池相关的知识,希望对你有一定的参考价值。

如何使用Java模拟.NET的连接池  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  作者 : manboo

   NET的ADO NET的本身包含连接池功能 而java是在第三方开发包中提高的连接池功能因此 需要去下载第三方的连接池包 但是java的连接池一般都是在EJB或者B/S系统中使用的(虽然也有C/S下的连接池如Borland 在Jbuilder中提供的) 在一个服务性系统中使用起来不是很方便 再说使用第三方的开发包也不利于维护 因此决定自己写一个连接池的开发包 此连接池中主要解决的是提高数据库访问性能 并且尽可能减少连接数目 说明:    此连接池有三个类和一个接口组成 三个类分别是: DBConnectionPool 数据库连接池 用户可以通过此类来使用连接池的功能 PoolConnection 一个实现了java sql Connection的warp类 用来和数据库进行通讯 theOnClose 实现了接口OnConnectionClose的一个类用还处理释放数据库连接的是动作决定是关闭数据库还是返回池中 接口 :   OnConnectionClose:此接口是一个声明 因为本人很不喜欢java的事件机制因此 我经常自己写一些接口来模拟时间 没有java的事件机制那么强大也没有那么复杂 但是效率要比java的事件机制要高那么一点点(笑:) 本来要上传这几个小类的UML图的但是我一点IE就死 所以算了 就只上传代码 还望方家指正 代码:

   package DBTools; /** * <p>T数据库连接池工具 </p> * <p>模拟 NET的连接池 俺一直以为 NET比java优秀 </p> * <p>Copyright: 可以随便使用 如果有改进最好通知俺</p> * <p>Company:自己作品 </p> * @author董平雷 * @version */ import java sql *; import java util *; import java io *; interface OnConnectionClose  public void Action(PoolConnection sender); public class DBConnectionPool  private static Vector pConnectionVector = new Vector();  // private static int Count= ;  private static int minCount = ;  private static String URL = ;  private static String User = ;  private static String Password = ;  private static String DriverName= ; synchronized public static void setMinCount(int Value)   minCount = Value;   synchronized public static int getMinCount()   return minCount;   synchronized public static int getCout()   return pConnectionVector size();   synchronized public static Connection getConnection() throws SQLException   PoolConnection pConnection = null;   // int aCount=pConnectionVector size();   for (int I = ; I < pConnectionVector size(); i++)    Object oCon = pConnectionVector elementAt(i);    if (oCon instanceof PoolConnection)     PoolConnection aCon = (PoolConnection) oCon;     if (!aCon isUsed())      pConnection = aCon;      break;               if (pConnection == null)    pConnection = getNewConnection();    pConnectionVector add(pConnection);      return pConnection;    private static PoolConnection getNewConnection() throws SQLException   try        Class forName( DriverName);   catch(ClassNotFoundException ex)       ex printStackTrace();      PoolConnection con = new PoolConnection(URL User Password);   con setOnClose(new theOnClose(pConnectionVector));   return con;   synchronized public static void SetJDBC(String url String user String password)   URL = url;   User = user;   Password = password;   synchronized public static void setURL(String url)   URL = url;   synchronized public static String getUrl()   return URL;   synchronized public static void setUser(String user)      User=user;   synchronized public static String getUser()     return User;   synchronized public static void setPassword(String password)     Password=password;   synchronized public static String getPassword()     return Password;   synchronized public static void setDriverName(String dName)   DriverName=dName; synchronized public static String getDriverName()     return DriverName;     

   class theOnClose   implements OnConnectionClose  private Vector v;  public theOnClose(Vector vt)   v = vt;    public void Action(PoolConnection sender)   v remove(sender);   class PoolConnection   implements Connection Serializable  private Connection aCon = null;  private boolean closed = false;  private boolean inUse = false;  private String DriverName;  private OnConnectionClose onClose = null;  private void writeObject(ObjectOutputStream oos) throws IOException    oos defaultWriteObject();    private void readObject(ObjectInputStream ois) throws ClassNotFoundException IOException   ois defaultReadObject();    protected PoolConnection()    public PoolConnection(String Url String User String Password) throws    SQLException   aCon = DriverManager getConnection(Url User Password);   closed = false;   inUse=true;    public PoolConnection(String Url) throws Exception   aCon = DriverManager getConnection(Url);   closed = false;   inUse=true;    public Statement createStatement() throws SQLException   /**@todo Implement this java sql Connection method*/   //throw new java lang UnsupportedOperationException( Method createStatement() not yet implemented );   return aCon createStatement();    public PreparedStatement prepareStatement(String sql) throws SQLException   /**@todo Implement this java sql Connection method*/   //throw new java lang UnsupportedOperationException( Method prepareStatement() not yet implemented );   return aCon prepareStatement(sql);    public CallableStatement prepareCall(String sql) throws SQLException   /**@todo Implement this java sql Connection method*/   //throw new java lang UnsupportedOperationException( Method prepareCall() not yet implemented );   return aCon prepareCall(sql);    public String nativeSQL(String sql) throws SQLException   /**@todo Implement this java sql Connection method*/   // throw new java lang UnsupportedOperationException( Method nativeSQL() not yet implemented );   return aCon nativeSQL(sql);    public void setAutoCommit(boolean autoCommit) throws SQLException   /**@todo Implement this java sql Connection method*/   // throw new java lang UnsupportedOperationException( Method setAutoCommit() not yet implemented );   aCon setAutoCommit(autoCommit);    public boolean getAutoCommit() throws SQLException   /**@todo Implement this java sql Connection method*/   // throw new java lang UnsupportedOperationException( Method getAutoCommit() not yet implemented );   return aCon getAutoCommit();    public void mit() throws SQLException   /**@todo Implement this java sql Connection method*/   // throw new java lang UnsupportedOperationException( Method mit() not yet implemented );   mit();    public void rollback() throws SQLException   /**@todo Implement this java sql Connection method*/   //throw new java lang UnsupportedOperationException( Method rollback() not yet implemented );   aCon rollback();    public void close() throws SQLException   /**@todo Implement this java sql Connection method*/   //throw new java lang UnsupportedOperationException( Method close() not yet implemented );   if(DBConnectionPool getCout()<=DBConnectionPool getMinCount())     inUse = false;   else     closeConnection();      public boolean isClosed() throws SQLException   /**@todo Implement this java sql Connection method*/   //throw new java lang UnsupportedOperationException( Method isClosed() not yet implemented );   return closed;    public DatabaseMetaData getMetaData() throws SQLException   /**@todo Implement this java sql Connection method*/   // throw new java lang UnsupportedOperationException( Method getMetaData() not yet implemented );   return aCon getMetaData();    public void setReadOnly(boolean readOnly) throws SQLException   /**@todo Implement this java sql Connection method*/   // throw new java lang UnsupportedOperationException( Method setReadOnly() not yet implemented );   aCon setReadOnly(readOnly);    public boolean isReadOnly() throws SQLException   /**@todo Implement this java sql Connection method*/   // throw new java lang UnsupportedOperationException( Method isReadOnly() not yet implemented );   return isReadOnly();    public void setCatalog(String catalog) throws SQLException   /**@todo Implement this java sql Connection method*/   // throw new java lang UnsupportedOperationException( Method setCatalog() not yet implemented );   aCon setCatalog(catalog);    public String getCatalog() throws SQLException   /**@todo Implement this java sql Connection method*/   //throw new java lang UnsupportedOperationException( Method getCatalog() not yet implemented );   return aCon getCatalog();    public void setTransactionIsolation(int level) throws SQLException   /**@todo Implement this java sql Connection method*/   // throw new java lang UnsupportedOperationException( Method setTransactionIsolation() not yet implemented );   aCon setTransactionIsolation(level);    public int getTransactionIsolation() throws SQLException   /**@todo Implement this java sql Connection method*/   // throw new java lang UnsupportedOperationException( Method getTransactionIsolation() not yet implemented );   return aCon getTransactionIsolation();    public SQLWarning getWarnings() throws SQLException   /**@todo Implement this java sql Connection method*/   // throw new java lang UnsupportedOperationException( Method getWarnings() not yet implemented );   return aCon getWarnings();    public void clearWarnings() throws SQLException   /**@todo Implement this java sql Connection method*/   //throw new java lang UnsupportedOperationException( Method clearWarnings() not yet implemented );   aCon clearWarnings();    public Statement createStatement(int resultSetType int resultSetConcurrency) throws    SQLException   /**@todo Implement this java sql Connection method*/   // throw new java lang UnsupportedOperationException( Method createStatement() not yet implemented );   return aCon createStatement(resultSetType resultSetConcurrency);    public PreparedStatement prepareStatement(String sql int resultSetType                       int resultSetConcurrency) throws    SQLException   /**@todo Implement this java sql Connection method*/   // throw new java lang UnsupportedOperationException( Method prepareStatement() not yet implemented );   return aCon prepareStatement(sql resultSetType resultSetConcurrency);    public CallableStatement prepareCall(String sql int resultSetType                     int resultSetConcurrency) throws    SQLException   /**@todo Implement this java sql Connection method*/   //throw new java lang UnsupportedOperationException( Method prepareCall() not yet implemented );   return aCon prepareCall(sql resultSetType resultSetConcurrency);    public Map getTypeMap() throws SQLException   /**@todo Implement this java sql Connection method*/   //throw new java lang UnsupportedOperationException( Method getTypeMap() not yet implemented );   return aCon getTypeMap();    public void setTypeMap(Map map) throws SQLException   /**@todo Implement this java sql Connection method*/   //throw new java lang UnsupportedOperationException( Method setTypeMap() not yet implemented );   aCon setTypeMap(map);    public void setHoldability(int holdability) throws SQLException   /**@todo Implement this java sql Connection method*/   // throw new java lang UnsupportedOperationException( Method setHoldability() not yet implemented );   aCon setHoldability(holdability);    public int getHoldability() throws SQLException   /**@todo Implement this java sql Connection method*/   // throw new java lang UnsupportedOperationException( Method getHoldability() not yet implemented );   return aCon getHoldability();    public Savepoint setSavepoint() throws SQLException   /**@todo Implement this java sql Connection method*/   //throw new java lang UnsupportedOperationException( Method setSavepoint() not yet implemented );   return setSavepoint();    public Savepoint setSavepoint(String name) throws SQLException   /**@todo Implement this java sql Connection method*/   // throw new java lang UnsupportedOperationException( Method setSavepoint() not yet implemented );   return setSavepoint(name);    public void rollback(Savepoint savepoint) throws SQLException   /**@todo Implement this java sql Connection method*/   //throw new java lang UnsupportedOperationException( Method rollback() not yet implemented );   aCon rollback(savepoint);    public void releaseSavepoint(Savepoint savepoint) throws SQLException   /**@todo Implement this java sql Connection method*/   // throw new java lang UnsupportedOperationException( Method releaseSavepoint() not yet implemented );   aCon releaseSavepoint(savepoint);    public Statement createStatement(int resultSetType int resultSetConcurrency                   int resultSetHoldability) throws    SQLException   /**@todo Implement this java sql Connection method*/   //throw new java lang UnsupportedOperationException( Method createStatement() not yet implemented );   return aCon createStatement(resultSetType resultSetConcurrency                 resultSetHoldability);    public PreparedStatement prepareStatement(String sql int resultSetType                       int resultSetConcurrency                       int resultSetHoldability) throws    SQLException   /**@todo Implement this java sql Connection method*/   // throw new java lang UnsupportedOperationException( Method prepareStatement() not yet implemented );   return aCon prepareStatement(sql resultSetType resultSetConcurrency                  resultSetHoldability);    public CallableStatement prepareCall(String sql int resultSetType                     int resultSetConcurrency                     int resultSetHoldability) throws    SQLException   /**@todo Implement this java sql Connection method*/   //throw new java lang UnsupportedOperationException( Method prepareCall() not yet implemented );   return aCon prepareCall(sql resultSetType resultSetConcurrency               resultSetHoldability);    public PreparedStatement prepareStatement(String sql int autoGeneratedKeys) throws    SQLException   /**@todo Implement this java sql Connection method*/   //throw new java lang UnsupportedOperationException( Method prepareStatement() not yet implemented );   return aCon prepareStatement(sql autoGeneratedKeys);    public PreparedStatement prepareStatement(String sql int[] columnIndexes) throws    SQLException   /**@todo Implement this java sql Connection method*/   // throw new java lang UnsupportedOperationException( Method prepareStatement() not yet implemented );   return aCon prepareStatement(sql columnIndexes);    public PreparedStatement prepareStatement(String sql String[] columnNames) throws    SQLException   /**@todo Implement this java sql Connection method*/   //throw new java lang UnsupportedOperationException( Method prepareStatement() not yet implemented );   return aCon prepareStatement(sql columnNames);    public void closeConnection() throws SQLException   if (onClose != null)    onClose Action(this);      aCon close();    public boolean isUsed()   return inUse;    public void use()   inUse = true;    public void setOnClose(OnConnectionClose Action)   onClose = Action;     

cha138/Article/program/Java/hx/201311/26842

相关参考

知识大全 微软MVP为您详述ADO.NET连接池

微软MVP为您详述ADO.NET连接池  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  对于ADO

知识大全 .NET程序中对连接池的管理方法

.NET程序中对连接池的管理方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  对于访问量高的系

知识大全 Java jsp tomcat6 mysql连接池配置

Javajsptomcat6mysql连接池配置  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 Java模拟ping功能

Java模拟ping功能  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  publicstatic

在检定或校验电导率仪时,应使用()模拟电导池的电阻。

在检定或校验电导率仪时,应使用()模拟电导池的电阻。A、标准电阻B、标准电阻箱C、无感绕制的标准电阻D、无感绕制的标准电阻箱参考答案:CD

在检定或校验电导率仪时,应使用()模拟电导池的电阻。

在检定或校验电导率仪时,应使用()模拟电导池的电阻。A、标准电阻B、标准电阻箱C、无感绕制的标准电阻D、无感绕制的标准电阻箱参考答案:CD

知识大全 .net JS模拟Repeater控件的实现代码

.netJS模拟Repeater控件的实现代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  功

知识大全 .Net Micro Framework下的IO模拟器研究

.NetMicroFramework下的IO模拟器研究  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 I2C总线的模拟器的.Net Micro Framework实现

I2C总线的模拟器的.NetMicroFramework实现  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 spring连接池配置详解

  数据库连接池概述  数据库连接是一种关键的有限的昂贵的资源这一点在多用户的网页应用程序中体现得尤为突出对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性影响到程序的性能指标数据库连接池正是