IBATIS 总结

以下两段代码等价:

段落1

<insert id="addPaBonusInputItemInfo" parameterClass="linkMap">
        <![CDATA[
            INSERT INTO BN_PARAM_ITEM
                (
                    PARAM_ITEM_NO,
                    PARAM_ITEM_ID,
                    DATA_TYPE,
                    CREATE_DATE,
                    CREATED_BY,
                    ACTIVITY,
                    DESCR
                )
            VALUES(
                    #NO:VARCHAR#,
                    #ITEM_ID:VARCHAR#,
                    #DATA_TYPE:VARCHAR#,
                    SYSDATE,
                    #CREATED_BY:VARCAHR#,
                    1,
                    #DESCR:VARCHAR#
                )
        ]]>
    </insert>

段落2 

<insert id="addPaBonusInputItemInfo" parameterClass="linkMap"> INSERT INTO BN_PARAM_ITEM <![CDATA[ ( ]]> <dynamic prepend=" "> <isNotEmpty prepend=",">PARAM_ITEM_NO</isNotEmpty> <isNotEmpty prepend=",">PARAM_ITEM_ID</isNotEmpty> <isNotEmpty prepend=",">DATA_TYPE</isNotEmpty> <isNotEmpty prepend=",">CREATE_DATE</isNotEmpty> <isNotEmpty property="CREATED_BY" prepend=",">CREATED_BY</isNotEmpty> <isNotEmpty prepend=",">ACTIVITY</isNotEmpty> <isNotEmpty prepend=",">DESCR</isNotEmpty> </dynamic> <![CDATA[ ) VALUES ( ]]> <dynamic prepend=" "> <isNotEmpty property="NO" prepend=",">#NO#</isNotEmpty> <isNotEmpty property="ITEM_ID" prepend=",">#ITEM_ID#</isNotEmpty> <isNotEmpty property="DATA_TYPE" prepend=",">#DATA_TYPE#</isNotEmpty> <![CDATA[ , SYSDATE, ]]> <isNotEmpty property="CREATED_BY" prepend=",">#CREATED_BY#</isNotEmpty> </dynamic> <![CDATA[ 1 ]]> <isNotEmpty property="DESCR" prepend=",">#DESCR#</isNotEmpty> <![CDATA[ ) ]]> </insert>

 两者差异

如果输入参数:CREATED_BY 为NULL

第一段代码会报错

第二段则不会

 

SQL

INSERT INTO BN_PARAM_ITEM
  (PARAM_ITEM_NO, PARAM_ITEM_ID, DATA_TYPE, CREATE_DATE, ACTIVITY, DESCR)
VALUES
  (?, ?, ?, SYSDATE, 1, ?)
-- [124363, 2, NUMBER(14,4), 6]

posted @ 2013-02-15 17:21  王超_cc  阅读(235)  评论(0编辑  收藏  举报