Class GlueJdbcSearch

java.lang.Object
com.poscoict.glueframework.biz.activity.GlueActivity<GlueContext>
com.poscoict.glueframework.biz.activity.GlueJdbcSearch

public class GlueJdbcSearch extends GlueActivity<GlueContext>
Search Activity. GlueJdbcSearch Class는 특정 Select Query를 실행하고 그 결과값을 저장 하게 된다. Web화면과 NonUI 공통으로 사용되고 Binding Parameter Type은 Web인 경우 String []의 {0}번째로 Binding 하고 Web이 아닌 경우는 해당 Object를 Binding 한다.
 Activity Property

 - dao : (필수) applicationContext.xml의 DAO id.

 - sql-key : (필수) {name}-query.glue_sql의 query id 

 - param-count : (선택) Binding 할 개수 (select * from emp where deptno=?)의 "?" 수

 - param#(param0,param1...) : (선택) Binding Value ("?"와 순서 일치 하여야 함)

 - param-bindings : (선택) binding에 사용되는 값과 Mapping 되는 Key( bindName=ctxName[|bindName=ctxName] ).
         ctx의 key가 binding variable name과 같은 경우 생략(대소문자 구분).
         ctxName 은 Context의 Key.

 - result-key : (필수) Context에 담기는 Query 수행 결과 Key.
          [ default ] : {sql-key}_resultList

 - cache-key : (선택) 기존 Query 수행결과 존재유무 확인후 Query를 수행하도록 함.

 - cache-region : (선택) 기존 Query 수행결과 존재유무 확인후 Query를 수행하도록 함.
          [ default ] : _default-region (GlueCacheRegions.DEFAULT_REGION)

 - cache-manager : (선택) applicationContext.xml의 CacheManager id.
          기존 Query 수행결과 존재유무 확인후 Query를 수행하도록 함.
          [ default ] : cacheManager (GlueBizControlConstants.DEFAULT_CACHE_MANAGER_ID)



 예제
 
 사용 예# 1
 - 유형1 쿼리를 사용하는 경우

     <activity name="Find" class="com.poscoict.glueframework.biz.activity.GlueJdbcSearch">
         <property name="dao" value="testdao" />
         <property name="sql-key" value="emp.select" />
         <property name="param-count" value="1" />
         <property name="param0" value="DeptnoP" />
         <property name="result-key" value="EmpList" />
         <transition name="success" value="end" />
     </activity>


 사용 예# 2
 - 유형2 쿼리를 사용하는 경우

     <activity name="Find" class="com.poscoict.glueframework.biz.activity.GlueJdbcSearch">
         <property name="dao" value="testdao" />
         <property name="sql-key" value="emp.select.named" />
         <property name="param-bindings" value="deptno=DeptnoP" />
         <property name="result-key" value="EmpList" />
         <transition name="success" value="end" />
     </activity>


 사용 예# 3
 - 캐싱기능 포함 조회

     <activity name="Find" class="com.poscoict.glueframework.biz.activity.GlueJdbcSearch">
         <property name="dao" value="testdao" />
         <property name="sql-key" value="emp.select" />
         <property name="param-count" value="1" />
         <property name="param0" value="DeptnoP" />
         <property name="result-key" value="EmpList" />
         <property name="cache-key" value="static.emp.select.result" />
         <property name="cache-region" value="user.cache.region" />
         <property name="cache-manager" value="cacheManager" />
         <transition name="success" value="end" />
     </activity>



 참고 : {name}-query.glue_sql

     <query id="emp.select" desc="Type #1">
         <![CDATA[
               select EMPNO, ENAME, JOB, MGR, HIREDATE, SAL,DEPTNO
               from EMP
               where DEPTNO=?
         ]]>
     </query>
     <query id="emp.select.named" desc="Type #1" isNamed="true">
         <![CDATA[
               select EMPNO, ENAME, JOB, MGR, HIREDATE, SAL,DEPTNO
               from EMP
               where DEPTNO=:deptno
         ]]>
     </query>
 
  • Constructor Details

    • GlueJdbcSearch

      public GlueJdbcSearch()
  • Method Details

    • runActivity

      public String runActivity(GlueContext ctx)
      Description copied from class: GlueActivity
      Sub Class에서 반드시 구현하여야 하는 Abstract Method 이며 이 Method는 F/W에서 호출한다. 결과 값은 GlueContext에 담아서 다음 Activity 또는 F/W에 전달하게 된다. 필요한 모든 Data는 GlueContext에서 호출하여 사용하게 된다.
      
       예)
       <transition name="success" value="BizLogic"/>
       <transition name="failure" value="ErrorHandle"/>
       ==> return "success"이면 BizLogic Activity 를 실행함.
       
      Specified by:
      runActivity in class GlueActivity<GlueContext>
      Parameters:
      ctx - GlueContext
      Returns:
      String 정상적이면 "success"를 Return 하고 비정상 처리를 원하면 "failure"를 Return 한다.