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]

你可能感兴趣的:(ibatis)