首页 > 代码库 > OAF_查询4种不同的实现方式的比较和实现(案列)

OAF_查询4种不同的实现方式的比较和实现(案列)

2014-06-02 BaoXinjian

一、摘要

OAF实现查询功能或需求,一般都会采用以下四种方式

(1). ResultBasedSearch

最简单的实现方式,将结果中某些栏位需要查询的栏位的属性search设定为true即可

(2). AutoCustomizationCriteria:SimpleSearchPanel & AdvancedSearchPannel

使用最多的查询方式,存在两种方式simple & advanced pannel

(3). 完全客制化Search:查询栏位Region - 按钮Regoin - 结果Region

如果遇到非常复杂,查询条件需要通过逻辑进行组合,就可以采用这种方式,完全客制化查询

 

1. ResultBasedSearch

(1). 建立Query Region

(2). 在Query Region下建立Result Table Region

(3). 设定Item的属性为Research为true

(4). 结构

       -Query

         -Result Table

           -Item 设定Research为true

 

2. AutoCustomizationCriteria - SimpleSearchPanel

(1). 建立Query Region

(2). 在Query Region下建立Result Table Region

(3). 建立SimpleSearchPannel, 在其下建立messageComponentLayout,在建立Search Items

(4). 建立SimpleSearchMappings, 建立Mapping关系,Search Item和Result Item的关系

 

3. AutoCustomizationCriteria - AdvancedSearchPannel

    (1). 建立Query Region

    (2). 在Query Region下建立Result Table Region

    (3). 建立AdvancedSearchPannel, 在其下建立messageComponentLayout,在建立Search Items

    (4). 建立AdvancedSearchMappings, 建立Mapping关系,Search Item和Result Item的关系

 

4. 完全客制化Search 

   (1). 建立Page,SearchInovice包含查询栏位Region、查询结果Region、按钮Region

   (2). 在SearchInvoiceCO.java中添加如下方法processFormRequest
         作用:按下查询发票Button,触发AM中的方法
   (3). 在InvoiceAM中添加如下方法
         作用:查询发票, 触发VO中的方法
   (3). 在InvocieSummaryVO中添加如下方法
         作用:设定sql的条件及具体语法

 

二、案例 - SimpleSearchPanel 查询方式

1. 建立SimpleSearchPannel

    

 

2. 测试SimpleSearchPannel结果

    

三、案例 - AdvancedSearchPannel 查询方式

1. 建立AdvancedSearchPannel

    

 

2. 测试AdvancedSearchPannel结果

    

 

Thanks and Regards