insertOrupdate

本文介绍了一个使用MyBatis框架实现的动态SQL更新或插入操作案例。通过<update>元素结合<selectKey>、<if>及<trim>等标签,展示了如何根据条件动态构建SQL语句,实现对数据库中tt_token表的高效操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<update id="insertOrUpdate" parameterType="TtToken" >
    <selectKey keyProperty="count" resultType="int" order="BEFORE">
        select count(*) from tt_token where user_id = #{userId}
    </selectKey>
    <if test="count > 0">
        update tt_token
        <trim prefix="SET" suffixOverrides=",">
            <if test="expireTime != null  ">expire_time = #{expireTime},</if>
            <if test="updateTime != null  ">update_time = #{updateTime},</if>
        </trim>
        where user_id = #{userId}
    </if>
    <if test="count==0">
        insert into tt_token
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="userId != null  ">user_id,</if>
            <if test="token != null  and token != ''  ">token,</if>
            <if test="expireTime != null  ">expire_time,</if>
            <if test="updateTime != null  ">update_time,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="userId != null  ">#{userId},</if>
            <if test="token != null  and token != ''  ">#{token},</if>
            <if test="expireTime != null  ">#{expireTime},</if>
            <if test="updateTime != null  ">#{updateTime},</if>
        </trim>
    </if>
</update>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值