常见sql mapper

2018-06-04  本文已影响0人  bigfish1129
    <sql id="columnsWithoutId">
        
    </sql>

    <sql id="columns">
        id,
        <include refid="columnsWithoutId"/>
    </sql>
    <insert id="LIST" parameterClass="java.util.List">
        insert into
        detail (
        <include refid="columnsWithoutId"/>
        )
        VALUES
        <iterate open="(" close=")" conjunction="),(">
            #list[].gmtCreate#,
            #list[].gmtModified#
        </iterate>
    </insert>
<select id="DETAILS" resultMap="Result" parameterClass="DO">
        SELECT
          <include refid="columnsWithStatus" />
        FROM
          abc a
        WHERE
          no = #no#
        <isNotNull property="code">
            and code = #code#
        </isNotNull>
        <isNotNull property="aDO">
            <isNotNull property="aDO.sode">
                AND EXISTS (SELECT 1 FROM )
            </isNotNull>
        </isNotNull>
    </select>
<insert id="ABC" parameterClass="java.util.List">
        insert into
            item(<include refid="columns-exclude-id" />)
        values
        <iterate conjunction=",">
            <![CDATA[
                (now(),
                 now(),
                 #list[].itemId#,
                 #list[].aQuantity#
                 )
            ]]>
        </iterate>
        ON DUPLICATE KEY UPDATE
        gmt_modified      = VALUES(gmt_modified),
        a_quantity = a_quantity + VALUES(a_quantity),
        version           = version + 1,
        timestamp         = 0
    </insert>
<update id = "BATCH-UPDATE" parameterClass="java.util.List">
        <iterate conjunction=";">
            update
                item
            set
                gmt_modified = now()
            <isNotNull prepend="," property="[].aQuantity">
                a_quantity = a_quantity + #[].aQuantity:BIGINT#
            </isNotNull>
            , version = version + 1
            where
                user_id = #[].userId#
            and
                version = #[].version#
        </iterate>
    </update>
上一篇下一篇

猜你喜欢

热点阅读