欢迎光临
我们一直在努力

myBatis如何在插入前/插入后查询获取某个字段的值

这篇文章主要介绍了myBatis如何在插入前/插入后查询获取某个字段的值,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

在插入前/插入后查询获取某个字段的值,并且使用在紧接着的第二条 sql 中

<!-- 场景描述:一个置顶功能,设置置顶的时候需要得到最大的置顶数,加一后设置为本次置顶数 -->
 
 
<!-- 在显示置顶的时候是按照倒序排列,越往后点击了置顶的数据显示的越前面 -->
 
<!-- 设置置顶 -->
<update id="updateTop">
    
    <!-- 更新前查询出最大的置顶数,并且加一后返回出来 -->
    <!-- 注: -->
    <!--    1. 更新前/更新后:BEFORE/AFTER -->
    <!--    2. 这里是在有很多数据后添加的排序字段,添加排序字段后,老数据那一列都是null -->
    <!--       则在此处使用了 COALESCE 函数做了一个小处理,如果为null就取值0 -->
 
<selectKey keyProperty="top_sort" order="BEFORE" resultType="java.lang.Integer">
select COALESCE(max(top_sort),0) + 1 from table
</selectKey>
    <!-- 设置置顶主 sql -->
    <!-- 注: -->
    <!--    1. 下面 sql 中的 #{top_sort} 是取的上面 sql中的结果 -->
 
update table
top_sort = #{top_sort} 
<if test="update_time!=null">
,update_time=#{update_time}
</if>
<if test="update_user!=null">
,update_user=#{update_user}
</if>
where id = #{id}
</update>

感谢你能够认真阅读完这篇文章,希望小编分享的“myBatis如何在插入前/插入后查询获取某个字段的值”这篇文章对大家有帮助,同时也希望大家多多支持云搜网,关注云搜网行业资讯频道,更多相关知识等着你来学习!

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。