com.poscoict.glueframework.biz.activity.mybatis
Class GlueMybatisInsert

java.lang.Object
  extended by com.poscoict.glueframework.biz.activity.GlueActivity<GlueContext>
      extended by com.poscoict.glueframework.biz.activity.mybatis.GlueMybatisInsert

public class GlueMybatisInsert
extends GlueActivity<GlueContext>

Insert Mybatis Activity. GlueMybatisInsert Class´Â SQL insert statement¸¦ ¼öÇà ÇÏ´Â Activity ÀÌ´Ù. WebÈ­¸é°ú NonUI °øÅëÀ¸·Î »ç¿ëµÇ°í Binding Parameter TypeÀº WebÀÎ °æ¿ì String []ÀÇ {0}¹ø°·Î Binding ÇÏ°í WebÀÌ ¾Æ´Ñ °æ¿ì´Â ÇØ´ç Object¸¦ Binding ÇÑ´Ù. ¿©±â¼­ chk-nameÀÌ ÀÖ´Â °æ¿ì WebÀÇ CheckBox¿¡ Check µÈ ¼ö¸¸Å­ ¹Ýº¹ ÇÏ°í ¾ø´Â °æ¿ì´Â Context¿¡¼­ ¹Ù·Î String[] ·Î getÇÏ¿© Binding ÇÑ´Ù. NonUIÀÇ °æ¿ì Data TypeÀÌ String[]°¡ ¾Æ´Ñ °æ¿ì ¹Ù·Î ÇØ´ç Object·Î Binding ÇÑ´Ù.

 »ç¿ë ¿¹
 
 - case 1 :
 
 <activity name="Insert" class="com.poscoict.glueframework.biz.activity.mybatis.GlueMybatisInsert">
     <property name="dao" value="testdao" />
     <property name="sql-key" value="emp.insert" />
     <property name="param-bindings" value="empno=EMPNO|ename=ENAME|sal=SAL|deptno=DEPTNO" />
     <property name="result-key" value="insertCnt" />
     <transition name="success" value="Find" />
 </activity>
 ==> 
      binding(web) : 
              Map args = new HashMap();
              args.put("empno", ((String[])ctx.get("EMPNO"))[0]);
              args.put("ename", ((String[])ctx.get("ENAME"))[0]);
              args.put("sal", ((String[])ctx.get("SAL"))[0]);
              args.put("deptno", ((String[])ctx.get("DEPTNO"))[0]);
              GlueParameter<Map> param = new GlueParameter<Map>(args);
           (NonUI) : 
              Map args = new HashMap();
              args.put("empno", ctx.get("EMPNO"));
              args.put("ename", ctx.get("ENAME"));
              args.put("sal", ctx.get("SAL"));
              args.put("deptno", ctx.get("DEPTNO"));
              GlueParameter<Map> param = new GlueParameter<Map>(args);
  
 
 - case 2 : Looping ó¸®. (Web)
 
 <activity name="Insert" class="com.poscoict.glueframework.biz.activity.mybatis.GlueMybatisInsert">
     <property name="dao" value="testdao" />
     <property name="sql-key" value="emp.insert" />
     <property name="param-bindings" value="empno=EMPNO|ename=ENAME|sal=SAL|deptno=DEPTNO" />
     <property name="result-key" value="insertCnt" />
     <property name="chk-name" value="chk" />
     <transition name="success" value="Find" />
 </activity>
 ==> 
      binding : String[] checked = ctx.get("chk");
              for(int i=0, iz=checked.length; i<iz; i++){
                  Map args = new HashMap();
                  args.put("empno", ((String[])ctx.get("EMPNO"))[Integer.parseInt(checked[i])]);
                  args.put("ename", ((String[])ctx.get("ENAME"))[Integer.parseInt(checked[i])]);
                  args.put("sal", ((String[])ctx.get("SAL"))[Integer.parseInt(checked[i])]);
                  args.put("deptno", ((String[])ctx.get("DEPTNO"))[Integer.parseInt(checked[i])]);
                  GlueParameter<Map> param = new GlueParameter<Map>(args);
                  ..
              }
 
 
 - case 3 : Looping ó¸®. (NonUI)
 
 <activity name="Insert" class="com.poscoict.glueframework.biz.activity.mybatis.GlueMybatisInsert">
     <property name="dao" value="testdao" />
     <property name="sql-key" value="emp.insert" />
     <property name="param-bindings" value="empno=EMPNO|ename=ENAME|sal=SAL|deptno=DEPTNO" />
     <property name="result-key" value="insertCnt" />
     <property name="list-key" value="dataList" />
     <transition name="success" value="Find" />
 </activity>
 ==> 
      binding : List list = (ArrayList)ctx.get("dataList");
              for(int i=0, iz=checked.length; i<iz; i++){
                  Map args = new HashMap();
                  args.put("empno", ((Map)list.get(i)).get("EMPNO"));
                  args.put("ename", ((Map)list.get(i)).get("ENAME"));
                  args.put("sal", ((Map)list.get(i)).get("ENAME"));
                  args.put("deptno", ((Map)list.get(i)).get("DEPTNO"));
                  GlueParameter<Map> param = new GlueParameter<Map>(args);
                  ..
              }
 
 
 
 Property ¼³Á¤
 - dao : (Çʼö) applicationContext.xmlÀÇ DAO id.
 - sql-key : (Çʼö) xxx-query.glue_sqlÀÇ query id
 - param-bindings : (¼±ÅÃ) binding¿¡ »ç¿ëµÇ´Â °ª°ú Mapping µÇ´Â Key( bindName=ctxName[|bindName=ctxName] ).
         ctxName Àº ContextÀÇ KeyÀ̸ç, < property name="list-key" value="dataList" / >°¡ ÀÖ´Ù¸é "dataList" ÀÇ mapÀÇ Key.
 - chk-name : (¼±ÅÃ) È­¸éÀÇ CheckBox ID(HttpRequestÀÇ parameter name).
         < property name="chk-name" value="chk" / > ¿Í °°ÀÌ "chk" °¡ ¼±¾ð µÇ¾î ÀÖ´Ù¸é, < input type="checkbox" name="chk" >ÀÇ value °ª¿¡ µû¶ó Looping 󸮸¦ ÇÑ´Ù.
         chkÀÇ value´Â 0,1,2...,n À¸·Î ºÎ¿©µÇ¸ç checked µÈ °ª¸¸ Context¿¡ ´ã±ä´Ù.
 - list-key : (¼±ÅÃ) SQL ¹®¿¡ Binding ÇÒ Data Context Key.
         < property name="list-key" value="dataList" / > ¿Í °°ÀÌ "dataList" °¡ ¼±¾ð µÇ¾î ÀÖ´Ù¸é, ÀÌÀü Activity¿¡¼­ List < Map > ±¸Á¶ÀÇ Data¸¦ »ý¼ºÇؼ­ Context¿¡ ´ã´Â´Ù.
         [ sample java code ]
         List dataList = new ArrayList();
         Map data1 = new HashMap();
         data1.put("EMPNO","1111");
         data1.put("ENAME","SCOTT");
         data1.put("DEPTNO","10");
         dataList.add(data1);
         Map data2 = new HashMap();
         data2.put("EMPNO","2222");
         data2.put("ENAME","JANE");
         data2.put("DEPTNO","10");
         dataList.add(data2);
         ctx.put("dataList",dataList);
 - result-key : (¼±ÅÃ) Context¿¡ ´ã±â´Â Query ¼öÇà °á°ú(µî·Ï record ¼ö) Key.
         [ default ] : {sql-key}_insertCnt
 - is-audit : insert½Ã Audit Ç׸ñ Àû¿ë Option
         Audit Ç׸ñÀº glue.properties¿¡ audit.insert.key ¿Í audit.update.key ¸¦ Âü°íÇÑ´Ù.
 


Field Summary
 
Fields inherited from class com.poscoict.glueframework.biz.activity.GlueActivity
dynamicProperties, logger
 
Constructor Summary
GlueMybatisInsert()
           
 
Method Summary
 String runActivity(GlueContext ctx)
          Sub Class¿¡¼­ ¹Ýµå½Ã ±¸ÇöÇÏ¿©¾ß ÇÏ´Â Abstract Method À̸ç ÀÌ Method´Â F/W¿¡¼­ È£ÃâÇÑ´Ù.
 
Methods inherited from class com.poscoict.glueframework.biz.activity.GlueActivity
commitTransaction, getDao, getEventList, getName, getProperty, getPropertyNames, getTransition, rollbackTransaction, setEventList, setName, setProperty, setTransition
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GlueMybatisInsert

public GlueMybatisInsert()
Method Detail

runActivity

public String runActivity(GlueContext ctx)
Description copied from class: GlueActivity
Sub Class¿¡¼­ ¹Ýµå½Ã ±¸ÇöÇÏ¿©¾ß ÇÏ´Â Abstract Method À̸ç ÀÌ Method´Â F/W¿¡¼­ È£ÃâÇÑ´Ù. °á°ú °ªÀº GlueContext¿¡ ´ã¾Æ¼­ ´ÙÀ½ Activity ¶Ç´Â F/W¿¡ Àü´ÞÇÏ°Ô µÈ´Ù. ÇÊ¿äÇÑ ¸ðµç Data´Â GlueContext¿¡¼­ È£ÃâÇÏ¿© »ç¿ëÇÏ°Ô µÈ´Ù.

Specified by:
runActivity in class GlueActivity<GlueContext>
Parameters:
ctx - GlueContext
Returns:
String Á¤»óÀûÀ̸é "success"¸¦ Return ÇÏ°í ºñÁ¤»ó 󸮸¦ ¿øÇϸé "failure"¸¦ Return ÇÑ´Ù.
 ¿¹) 
 <transition name="success" value="BizLogic"/>
 <transition name="failure" value="ErrorHandle"/>
 ==> return "success"À̸é BizLogic Activity ¸¦ ½ÇÇàÇÔ.
 


Copyright © 2013–2014 POSCO ICT SWÁ¦Ç°±â¼úÆÀ. All rights reserved.