Go-ForIt 记事:eXtreme ragonSlayers 专题报告,第 10 部分: 使用定制查找器方法检索不同的结果集
2009-11-06 00:00:00 来源:WEB开发网查找器方法可以拥有任意输入参数。只要有办法根据输入参数找到正确的 EJB 或 EJB 集,您就可以构造一个查询,该查询将返回实例化一个或多个 bean 所需的数据库中的行。但是,容器工具可能无法生成所有不同的查询来涵盖所有的可能情况; findByPrimaryKey 非常明显,但其它的并不明显。您需要 帮助容器访问数据库中的正确记录。这就是定制查找器助手的用武之地。
有四种类型的定制查找器可用:
SQL SELECT
SQL WHERE
SQL 方法
EJB 查询语言(仅限于 EJB 1.1 级)
我们使用第二种类型, SQL WHERE ,这就是我在本文中描述的内容。
FinderHelper
FinderHelper 接口由包含容器将要使用的 SQL WHERE 子句的字符串组成。每个查找器方法有一个子句,该子句被附加到查询中的一个 SQL 语句,该查询在执行查找器方法时由容器启动。下面的示例帮助说明了这种概念。该示例显示了两个查找器方法以及 FinderHelper 接口。
查找器方法示例 ...
public com.goforit.ejb.Errand findNewestErrand(int arg0)
throws java.rmi.RemoteException, javax.ejb.FinderException;
public java.util.Enumeration findAllErrands()
throws java.rmi.RemoteException, javax.ejb.FinderException;
public com.goforit.....
上面的两个方法是在 Home 接口中定义的。第一个方法返回具有最高差事标识的差事。第二个方法返回全部差事的枚举。现在来看一下 FinderHelper 接口,该接口与这两个查找器方法一起联合使用。
FinderHelper 接口示例public interface ErrandBeanFinderHelper {
public final static String findNewestErrandWhereClause =
"ERRANDID = (SELECT MAX(ERRANDID) FROM GOFORIT.ERRAND)";
public final static String findAllErrandsWhereClause =
"1 = 1";
}
- ››Godaddy域名解析使用DNSPOD方法
- ››GOV.CN域名解析修改
- ››Google搜索引擎的奥秘
- ››Google测试搜索结果页面右侧内容更丰富的信息栏
- ››Google Dart精粹:应用构建,快照和隔离体
- ››google的代码审查
- ››google analytics清晰追踪爬虫的爬行信息
- ››Google+中文用户在两千万Google+大军中是少数派
- ››Google AdWords最昂贵点击成本的20种关键词分类
- ››Google运作经理Bryan Power给出的GOOGLE求职意见
- ››Google用户体验的十大设计原则
- ››Google Analytics(分析)能为网站带来什么
更多精彩
赞助商链接