WEB开发网
开发学院软件开发Java Go-ForIt 记事:eXtreme ragonSlayers 专题报告,... 阅读

Go-ForIt 记事:eXtreme ragonSlayers 专题报告,第 10 部分: 使用定制查找器方法检索不同的结果集

 2009-11-06 00:00:00 来源:WEB开发网   
核心提示: 注意用于接口的命名约定(bean 的类名加 FinderHelper),在这个示例中,Go-ForIt 记事:eXtreme ragonSlayers 专题报告,第 10 部分: 使用定制查找器方法检索不同的结果集(7),enterprise bean 被命名为 ErrandBean ,在第一个

注意用于接口的命名约定(bean 的类名加 FinderHelper)。在这个示例中,enterprise bean 被命名为 ErrandBean 。在第一个字符串中,再遵守另一个命名约定 ― 查找器方法名加 WhereClause 。 另外, GOFORIT.ERRAND 必须与一个数据库别名匹配,这个别名在 persister 类中的 genericFindSqlString 字段中定义。该字符串由查询语句的 WHERE 子句的 SQL 谓词组成。使用第一个 WHERE 子句的完整查询语句如下所示,


整条 SQL 语句
  SELECT * FROM GOFORIT.ERRAND WHERE 
   ERRANDID = (SELECT MAX(ERRANDID) FROM GOFORIT.ERRAND;) 

现在看一下第二个查找器方法 findAllErrands() 。这个方法的 select 语句通常如下所示。


SELECT all 语句
  SELECT * FROM GOFORIT.ERRAND; 

这个语句不需要任何 WHERE 子句,因为我们希望检索所有的行。但是,无论如何容器将来还是要附加一个 WHERE 子句,所以我们需要提供一个有效的谓词。在这种情况下,任何值为 true 的谓词都可以。看一下 FinderHelper 中的 findAllErrandsWhereClause 。使用这个谓词,容器将执行下面代码样本中的 SQL 语句。字符串 1 =1 的值总是 true,所以所有的行都能满足这个标准,都被返回到结果集。


带有 WHERE 子句的 SELECT all 语句
  SELECT * FROM GOFORIT.ERRAND WHERE 1 = 1; 

让我们再看一个示例。下面的 findRecentErrands 查找器方法将返回差事标识大于参数 arg0 的差事。记住,差事标识是整数,是在创建差事时按升序的数字顺序为差事分配的,所以标识号较大的差事就是最近创建的差事。

上一页  2 3 4 5 6 7 8  下一页

Tags:Go ForIt 记事

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接