设计模式在EJB中的应用

http://tech.ddvip.com   2006年07月17日    社区交流

本文详细介绍设计模式在EJB中的应用

  看看CatalogDAO的一个子类CatalogDAOImpl的代码:

public class CatalogDAOImpl implements CatalogDAO {
  protected static DataSource getDataSource()
    throws CatalogDAOSysException {
    try {
      InitialContext ic = new InitialContext();
      return (DataSource) ic.lookup(JNDINames.CATALOG_DATASOURCE);
    }
    catch (NamingException ne) {
      throw new CatalogDAOSysException("NamingException while looking "
        + "up DB context : "
        + ne.getMessage());
    }
  }
//具体Select语句在这里出现,这里主要是Oracle 数据库的访问语句
public Category getCategory(String categoryID, Locale l)
  throws CatalogDAOSysException {
Connection c = null;
    PreparedStatement ps = null;
    ResultSet rs = null;
    Category ret = null;
try {
      c = getDataSource().getConnection();
ps = c.prepareStatement("select a.catid, name, descn "
          + "from (category a join "
          + "category_details b on "
          + "a.catid=b.catid) "
          + "where locale = ? "
          + "and a.catid = ?",
      ResultSet.TYPE_SCROLL_INSENSITIVE,
      ResultSet.CONCUR_READ_ONLY);
      ps.setString(1, l.toString());
      ps.setString(2, categoryID);
      rs = ps.executeQuery();
      if (rs.first()) {
        ret = new Category(rs.getString(1).trim(),
        rs.getString(2),
        rs.getString(3));
      }
      rs.close();
      ps.close();
c.close();
      return ret;
    }
    catch (SQLException se) {
      throw new CatalogDAOSysException("SQLException: "
      + se.getMessage());
    }
    ....
}

  Bridge模式参与者总结如下:

责编:豆豆技术应用

正在加载评论...