public class GlueJdbcNativeRun extends GlueActivity<GlueContext>
Activity Property - dao : (필수) applicationContext.xml의 DAO id. - sql-key : (필수) xxx-query.glue_sql의 query id 유형에 맞는 query를 지정해야 하며, query 실행결과에 따라 Statement 실행 구문이 만들어짐. sql은 named query여야 하며, :table_name, :object_name, :package_name, :owner만 named parameter로 사용한다. ex) oracle 의 경우 다음 3가지 유형에 맞는 SQL를 생성하는데 사용됨. 1. procedure 실행 -> {call package.procedure(:arg, :arg, ...)} 2. package 실행 -> {call procedure(:arg, :arg, ...)} 3. table 정의 정보에 기반한 sql 실행 -> select * from table where column_pk = ? and ... -> insert into table(column, ...) values (?, ...) -> delete from table where column_pk = ? and ... -> update talbe set column=?, ... where column_pk = ? and ... - procedure-name : (필수) 실행하고자 하는 PL/SQL 프로시저 또는 패키지 이름. table-name 과 같이 사용할 수 없음. sql-key에 해당하는 query를 실행한 결과항목(oracle.procedure.arguments, oracle.package.arguments 참고) - 필수 : NAME, DATA_TYPE, IN_OUT 항목을 포함해야함. - 선택 : SECOND_NAME 항목은 name을 가공한 값임. sql상의 :package_name 과 :object_name 의 값으로 사용됨. - aaa.bbb 형태일경우 경우 :package_name으로 aaa 를 :object_name에는 bbb 를 그 값으로 bind함. - ccc 형태일 경우 :object_name 에 ccc 를 그 값으로 bind함. 실행결과는 IN/OUT 과 OUT 유형에 대해.. {argument_name}_result 로 GlueContext에 담김. - table-name : (필수) table 명. procedure-name 과 같이 사용할 수 없음. sql-key에 해당하는 query를 실행한 결과 항목(oracle.table.primary.key 참고) - 필수 NAME, DATA_TYPE, CONSTRAINT_TYPE 을 포함해야함. - 선택 : NULLABLE 항목은 sql 실행시 bind되는 값의 null check해당 항목인지 판단함.. sql상의 :table_name 의 값으로 사용됨. - table-sql : (선택) sql 처리 유형. default는 select임. - select : PK(UK)를 조건으로 select 수행. 조회 결과는 {table-name}_resultList 으로 GlueContext에 담김. - insert : insert 수행. 등록 결과는 {table-name}_result 로 GlueContext에 담김. - update : PK(UK)를 조건으로 update 수행. 수정 결과는 {table-name}_result 로 GlueContext에 담김. - delete : PK(UK)를 조건으로 delete 수행. 삭제 결과는 {table-name}_result 로 GlueContext에 담김. - save : PK(UK)를 조건으로 select 수행하고 그 결과 따라 insert or update 수행. 저장 결과는 {table-name}_result 로 GlueContext에 담김. - desert : delete and insert 수행. 등록 결과는 {table-name}_result 로 GlueContext에 담김. - owner : (선택) : owner 정보.. oarcle 사용시 sql-key에 해당하는 query에서 user_arguments가 아닌 all_arguments를 사용할 경우 owner 정보를 지정할 수 있음. sql상의 :owner 의 값으로 사용됨. - name-bindings : (선택) mapping 정보로 name=ctxKey[|name=ctxKey...] 형태임. parocedure-name이 사용된 경우는 argumentName=ctxKey|argumentName=ctxKey 의미로 사용함 table-name이 사용된 경우는 columnName=ctxKey|columnName=ctxKey 의미로 사용함. - name-values : (선택) mapping 정보로 name=constants[|name=constants...] 형태임. parocedure-name이 사용된 경우는 argumentName=constant|argumentName=constant 의미로 사용함 table-name이 사용된 경우는 columnName=constants|columnName=constants 의미로 사용함. - null 값일 경우 'name' 만 입력 할 것 - empty string 일 경우 'name=' 만 입력 할 것 - space 일 경우 'name= ' 만 입력 할 것 ==> 'a|b=|c= |d=value' 형태가 될 것임. name-bindings와 name-values의 우선순위는 name-values 를 우선으로 함. - chk-name : (선택) 화면의 CheckBox ID(HttpRequest의 parameter name). String[] 형태의 data로 index 값을 갖는다. - list-key : (선택) Binding 할 Data Context Key. List < Map < String >, < Object > > 형태의 data. 예제사용 예# 1 - oracle procedure 실행 : {call proc1( )} 사용 예# 2 - oracle procedure 실행 : {call proc2( :P_INPUT1,:P_INPUT2 )} 사용 예# 3 - oracle package 실행 : {call biz1.sub1( )} 사용 예# 4 - oracle package 실행 : {call biz1.sub2( :P_INPUT1,:P_INPUT2 )} 사용 예# 5 - oracle package 실행 : {call biz1.sub2( :P_INPUT1,:P_OUTPUT )} 참고 : {name}-query.glue_sql 참고 : 'oracle.procedure.arguments' 실행결과 -------------------------------------------------- |OBJECT_ID|NAME |DATA_TYPE|IN_OUT|SECOND_NAME| |{proc1} | | |IN | | |{proc2} |P_INPUT1 |VARCHAR2 |IN |INPUT1 | |{proc2} |P_INPUT2 |NUMBER |IN/OUT|INPUT2 | |{proc2} |P_OUTPUT |NUMBER |OUT |OUTPUT | -------------------------------------------------- 참고 : 'oracle.package.arguments' 실행결과 ---------------------------------------------------- |OBJECT_ID |NAME |DATA_TYPE|IN_OUT|SECOND_NAME| |{biz1.sub1}| | |IN | | |{biz1.sub2}|P_INPUT1 |VARCHAR2 |IN |INPUT1 | |{biz1.sub2}|P_INPUT2 |NUMBER |IN/OUT|INPUT2 | |{biz1.sub2}|P_OUTPUT |NUMBER |OUT |OUTPUT | ---------------------------------------------------- 참고 : Java Code (Custom) List
dynamicProperties, logger
Constructor and Description |
---|
GlueJdbcNativeRun() |
Modifier and Type | Method and Description |
---|---|
static void |
main(String[] args) |
String |
runActivity(GlueContext ctx)
Sub Class에서 반드시 구현하여야 하는 Abstract Method 이며 이 Method는 F/W에서 호출한다.
|
commitTransaction, commitTransaction, getDao, getEventList, getName, getProperty, getPropertyNames, getTransition, rollbackTransaction, rollbackTransaction, setEventList, setName, setProperty, setTransition
public String runActivity(GlueContext ctx)
GlueActivity
runActivity
in class GlueActivity<GlueContext>
ctx
- GlueContext예)==> return "success"이면 BizLogic Activity 를 실행함.
public static void main(String[] args)
Copyright © 2013–2021 POSCO ICT. All rights reserved.