讨论JAVA操作数据库方式与设计模式应用[2]

发表于:2008-09-26来源:作者:点击数: 标签:数据库设计javaJAVAJava
关键字:系统设计 } catch (IllegalAccessException e) { // TODO自动生成 catch 块 e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO自动生成 catch 块 e.printStackTrace(); } catch ( SQL Exception e) { // TODO自动生成 catch 块 e.
关键字:系统设计

  } catch (IllegalAclearcase/" target="_blank" >ccessException e) {

  // TODO自动生成 catch 块

  e.printStackTrace();

  } catch (ClassNotFoundException e) {

  // TODO自动生成 catch 块

  e.printStackTrace();

  } catch (SQLException e) {

  // TODO自动生成 catch 块

  e.printStackTrace();

  }

  return conn;

  }

  }

  注意:利用getConnection()方法得到的Connection,程序员很习惯地调用conn.close()方法关闭了数据库连接,那么上述的数据库连接机制便形同虚设。在调用conn.close()方法方法时如何调用releaseConnection()方法?这是关键。这里,我们使用Proxy模式和java反射机制。

  public synchronized Connection getConnection() {

  Connection conn = null;

  if (pools == null) {

  pools = new Vector();

  }

  if (pools.isEmpty()) {

  conn = createConnection();

  } else {

  int last_idx = pools.size() - 1;

  conn = (Connection) pools.get(last_idx);

  pools.remove(last_idx);

  }

原文转自:http://www.ltesting.net