常见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>