向左走,向右走
          不斷追求進步
          posts - 24,comments - 23,trackbacks - 0

          剛剛參加完公司的i.frame的培訓,現在總結一下

          1. web.xml 文件中并沒有太多的變化,注意一下要配置多個struts-config-***.xml
          2. i.frame 比struts多了command-config-***.xml,是以plugin的方式和sturts一起工作的,配置在struts-default.xml文件
          <plug-in className="com.ncs.iframe.base.ejb.command.action.CommandPlugIn">
          ??? <set-property property="config"
          ????? value="/WEB-INF/command/command-config-default.xml"/>
          ??? <set-property property="config/custdir"
          ????? value="/WEB-INF/command/command-config-custdir.xml"/>
          ??? </plug-in>

          ? 而command-config-default.xml 的作用就是定義類似BM的東西,不過這里叫commoand罷了
          ? <command-config>
          ? <command-mappings>
          ??? <command name="/custdir/searchprocess"
          ????? type="com.ncs.iframe.sample.custdir.command.SCDCustomerCommand"
          ????? service="searchCustomer">
          ????? <param name="name" type="java.lang.String"/>
          ????? <result name="result" type="java.util.ArrayList"/>
          ??? </command>
          ?</command-mappings>
          </command-config>

          其中/custdir/searchprocess 表示custdir模塊下的searchprocess 這個action,type表示action指向的command, service為要執行的方法,定義在command里面.

          可是, command又怎么調用DAO呢???
          別著急, 輪到pfw出場了,汗!

          2. pfw

          pfw-config.xml的一般定義如下:
          <pfw-config>
          ? <database id="iconnect">
          ??? <!-- use either one-->
          ??? <!-- for BEA -->
          ??? <!-- <data-source jndi="iconnectDS" /> -->
          ??? <!-- for Tomcat -->
          ??? <data-source jndi="java:comp/env/jdbc/iconnectDS" />
          ??? <mapping href="/WEB-INF/pfw/pfw-mapping-custdir.xml" />
          ??? <mapping href="/WEB-INF/pfw/pfw-mapping-iextend.xml" />
          ??? <mapping href="/WEB-INF/pfw/pfw-itrust-aa-sql.xml" />
          ? </database>
          </pfw-config>

          定義了一個jndi,這個需要在服務器配置. 其他的就是映射到了幾個子模塊的pfw配置,提供一個看看(很恐怖, 太長了):
          作用: 提供DAO到數據庫的映射. 包含SQL語句
          <pfw-mapping>?
          ? <map-class id="com.ncs.iframe.sample.custdir.to.SCDCustomerTO">
          ??? <db-table name="TBL_SAMPLE_CUSTOMER"/>
          ??? <field name="customerID" type="java.lang.String">
          ????? <sql name="CUSTOMER_ID" type="CHAR"/>
          ??? </field>
          ??? <field name="name" type="java.lang.String">
          ????? <sql name="NAME" type="CHAR"/>
          ??? </field>
          ??? <field name="telMain" type="java.lang.String">
          ????? <sql name="TEL_MAIN" type="CHAR"/>
          ??? </field>
          ??? <field name="industry.codeId" type="java.lang.String">
          ????? <sql name="INDUSTRY_CD" type="CHAR"/>
          ??? </field>
          ??? <field name="remarks" type="java.lang.String">
          ????? <sql name="REMARKS" type="CHAR"/>
          ??? </field>
          ??? <field name="version" type="java.lang.Integer">
          ????? <sql name="VERSION" type="INTEGER"/>
          ??? </field>
          ?<field name="updatedDt" type="java.sql.Timestamp">
          ??<sql name="UPDATED_DT" type="TIMESTAMP"/>
          ?</field>
          ??? <primary-key name="CUSTOMER_ID"/>
          ??? <version name="UPDATED_DT"/>
          ??? <cache-group name="TBL_SAMPLE_CUSTOMER"/>
          ? </map-class>
          ? <!-- Start of param-map -->
          ? <param-map id="/custdir/getSearchCustomerCountParams">
          ??? <property name="name" sqlType="CHAR"/>
          ? </param-map>
          ? <param-map id="/custdir/getSearchCustomerParams">
          ??? <property name="name" sqlType="CHAR"/>
          ??? <property name="sortOrder" sqlType="CHAR"/>
          ??? <property name="orderType" sqlType="CHAR"/>
          ? </param-map>
          ? <!-- Start of result-map -->
          ? <result-map id="/custdir/getSearchCustomerResults"
          ??? mapClassId="com.ncs.iframe.sample.custdir.to.SCDCustomerTO">
          ? </result-map>
          ? <!-- Start of map-sql -->
          ? <map-sql id="/custdir/searchCustomer" type="query"
          ??? param-map="/custdir/getSearchCustomerParams"
          ??? result-map="/custdir/getSearchCustomerResults"> <![CDATA[
          ??????? select CUSTOMER_ID, NAME, TEL_MAIN, VERSION, UPDATED_DT
          ????????? from TBL_SAMPLE_CUSTOMER
          ????????? <dynamic prepend="where">
          ??????????? <isNotEmpty property="name">
          ????????????? NAME like '%#name#%'
          ??????????? </isNotEmpty>
          ????????? </dynamic>
          ????????? <dynamic prepend="order by">
          ??????????? <isNotEmpty property="sortOrder">
          ??????????? #sortOrder# #orderType#
          ?????????? </isNotEmpty>
          ????????? </dynamic>
          ??????? ]]>
          ?????? <cache-group name="TBL_SAMPLE_CUSTOMER"/>
          ? </map-sql>
          ? <map-sql id="/custdir/getMatchingCustomerCount" type="query"
          ??? param-map="/custdir/getSearchCustomerCountParams"
          ??? result-class="java.lang.Integer"> <![CDATA[
          ??????? select count(NAME)
          ????????? from TBL_SAMPLE_CUSTOMER
          ????????? <dynamic prepend="where">
          ??????????? <isNotEmpty property="name">
          ????????????? NAME like '%#name#%'
          ??????????? </isNotEmpty>
          ????????? </dynamic>
          ??????? ]]> <cache-group name="TBL_SAMPLE_CUSTOMER"/> </map-sql>
          ? <map-sql id="/custdir/getExactMatchingCustomerCount" type="query"
          ??? param-map="/custdir/getSearchCustomerCountParams"
          ??? result-class="java.lang.Integer"> <![CDATA[
          ??????? select count(NAME)
          ????????? from TBL_SAMPLE_CUSTOMER
          ??????? where NAME = '#name#'
          ??????? ]]> <cache-group name="TBL_SAMPLE_CUSTOMER"/> </map-sql>
          ? <map-sql id="/custdir/getAllCustomerList" type="query"
          ??? result-map="/custdir/getSearchCustomerResults"> <![CDATA[
          ??????? select CUSTOMER_ID, NAME, TEL_MAIN, VERSION
          ????????? from TBL_SAMPLE_CUSTOMER
          ??????? order by NAME
          ??????? ]]> </map-sql>
          ? <!-- Start of testing pfw -->
          ? <param-map id="/test/getCustomerParams">
          ??? <property name="custId" sqlType="CHAR"/>
          ? </param-map>
          ? <result-map id="/test/getCustomerResults"
          ??? mapClassId="com.ncs.iframe.sample.custdir.to.SCDCustomerTO">
          ? </result-map>
          ? <map-sql id="/test/getCustomer" type="query"
          ??? param-map="/test/getCustomerParams" result-map="/test/getCustomerResults"> <![CDATA[
          ??????? select CUSTOMER_ID, NAME, TEL_MAIN, INDUSTRY_CD, REMARKS, VERSION, UPDATED_DT, TMP_DATE, TMP_INT, TMP_DBL
          ????????? from TBL_SAMPLE_CUSTOMER
          ????????? <dynamic prepend="where">
          ??????????? <isNotEmpty property="name">
          ??? CUSTOMER_ID = '%#custId#%'
          ??????????? </isNotEmpty>
          ????????? </dynamic>
          ??????? ]]>
          ??????? <cache-group name="TBL_SAMPLE_CUSTOMER"/>
          ?? </map-sql>
          ? <!--- Declarative SQL to showcase Stored-procedure -->
          ? <param-map id="/test/proce_getCustomerParams">
          ??? <property name="In_version" sqlType="INTEGER" storedProcType="IN" />
          ??? <property name="customerID" sqlType="CHAR" storedProcType="INOUT"/>
          ??? <property name="name" sqlType="CHAR" storedProcType="OUT"/>
          ??? <property name="telMain" sqlType="CHAR" storedProcType="OUT"/>
          ??? <property name="industry.codeId" sqlType="CHAR" storedProcType="OUT"/>
          ??? <property name="remarks" sqlType="CHAR" storedProcType="OUT"/>
          ??? <property name="version" sqlType="INTEGER" storedProcType="OUT"/>
          ? </param-map>
          ? <result-map id="/test/proce_getCustomerResults"
          ??? mapClassId="com.ncs.iframe.sample.custdir.to.SCDCustomerTO">
          ? </result-map>
          ? <!-- ALL output (out, INOUT) must be delaredin the result-map
          ????? with the same result-map -->
          ? <map-sql id="/test/proce_getCustomer" type="stored_procedure"
          ??? param-map="/test/proce_getCustomerParams"
          ??? result-map="/test/proce_getCustomerResults"> <![CDATA[
          ???????? { call
          ?? PROCE_GET_CUSTDIR(##In_version##,##customerID##,##name##,##telMain##, ##industry.codeId##, ##remarks##, ##version##)
          ???????? }
          ??????? ]]> </map-sql>
          ? <!--
          ???? begin
          ?? PROCE_GET_CUSTDIR(##In_version##,##customerID##,##name##,##telMain##, ##industry.codeId##, ##remarks##, ##version##);
          ???????? end;
          ??? -->
          ? <param-map id="/test/getSearchCustomerParams">
          ??? <property name="name" sqlType="CHAR" storedProcType="IN" />
          ??? <property name="sortOrder" sqlType="CHAR" storedProcType="IN" />
          ??? <property name="resultSet" sqlType="OTHER" storedProcType="OUT"
          ????? storedProcTypeClass="com.ncs.iframe.sample.OracleStoredProcTypeClass"/>
          ? </param-map>
          ? <!-- Start of result-map -->
          ? <result-map id="/test/getSearchCustomerResults"
          ??? mapClassId="com.ncs.iframe.sample.custdir.to.SCDCustomerTO">
          ? </result-map>
          ? <!-- Start of map-sql -->
          ? <map-sql id="/test/searchCustomer" type="stored_procedure"
          ??? param-map="/test/getSearchCustomerParams"
          ??? result-map="/test/getSearchCustomerResults"> <![CDATA[
          ???????? { call
          ?? PROCE_SEARCH_CUSTDIR(##name##,##sortOrder##,##resultSet##)
          ???????? }
          ??????? ]]>
          ?? </map-sql>
          </pfw-mapping>

          汗啊, 以后就要手這些了, 想起來就害怕.

          posted on 2006-05-09 23:28 Oliver Zhang 閱讀(712) 評論(2)  編輯  收藏

          FeedBack:
          # re: i.frame總結
          2009-07-30 10:17 | Jawf
          這是公司的東西,你可不能拿出來share噢。  回復  更多評論
            
          # re: i.frame總結[未登錄]
          2009-08-14 14:53 | me
          注意涉嫌泄密啊  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 托克逊县| 齐齐哈尔市| 门头沟区| 东乌珠穆沁旗| 枞阳县| 稷山县| 苏尼特左旗| 扶沟县| 姜堰市| 拜泉县| 邢台县| 蒙自县| 华蓥市| 铅山县| 福建省| 伊金霍洛旗| 和顺县| 盐亭县| 新民市| 梁山县| 托里县| 宁海县| 定日县| 台北县| 新绛县| 龙泉市| 浑源县| 来安县| 揭阳市| 梁平县| 通山县| 岳阳县| 内乡县| 凌云县| 平原县| 葫芦岛市| 天津市| 工布江达县| 乐山市| 微山县| 佛教|