首页 > 其他 > 详细

mybatis常用脚本示例

时间:2021-08-25 12:29:28      阅读:20      评论:0      收藏:0      [点我收藏+]

mysql:

1.批量插入

    <insert id="insertProcessSyncList">
        INSERT INTO t_process_sync
            (id,loan_kind,loan_side,process_id,external_id,step,is_hangup,is_init,last_success_time,last_failure_time,remark,handle_count)
        VALUES
        <foreach collection="list" item="element" index="index" separator=",">
            (
            #{element.id},
            #{element.loanKind},
            #{element.loanSide},
            #{element.processId},
            #{element.externalId},
            #{element.step},
            #{element.isHangup},
            #{element.isInit},
            #{element.lastSuccessTime},
            #{element.lastFailureTime},
            #{element.remark},
            #{element.handleCount}
            )
        </foreach>
    </insert>

2.部分字段更新

    <update id="updateProcessBatch"  parameterType="com.vcredit.fts.process.model.dto.UpdateProcessRequest">
        UPDATE t_process_sync
        <trim prefix="set" suffixOverrides=",">
            <if test="step!=null">step=#{step},</if>
            <if test="isHangup!=null">is_hangup=#{isHangup},</if>
            <if test="isInit!=null">is_init=#{isInit},</if>
            <if test="remark!=null">remark=#{remark},</if>
            <if test="handleCount!=null">handle_count=#{handleCount},</if>
            <if test="deleted!=null">deleted=#{deleted},</if>
            <if test="lastSuccessTime!=null">last_success_time=#{lastSuccessTime},</if>
            <if test="lastFailureTime!=null">last_failure_time=#{lastFailureTime},</if>
        </trim>
        WHERE process_id=#{processId} AND external_id IN
              <foreach collection="externalIds" separator="," item="item" open="(" close=")">#{item}</foreach>
    </update>

3.条件查询

    <select id="getProcessSyncList" resultType="com.vcredit.fts.process.model.po.ProcessSyncPO">
        SELECT * FROM t_process_sync
        WHERE process_id=#{processId}
        AND step=#{step}
        AND is_init IN(-1,1)
        <if test="limitTime!=null and limitTime!=‘‘">
            AND (last_success_time IS NULL OR last_success_time &lt; #{limitTime})
        </if>
        AND handle_count &lt;= #{handleCount}
        AND is_hangup=0
        AND (last_failure_time IS NULL OR last_failure_time &lt; (CURRENT_TIMESTAMP - INTERVAL 10 MINUTE))
        AND deleted=0 LIMIT #{queryCount}
    </select>

 

mybatis常用脚本示例

原文:https://www.cnblogs.com/ariter/p/15183509.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!