温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2022-03-24 11:31:13 来源:亿速云 阅读:158 作者:小新 栏目:web开发

这篇文章主要介绍了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如何在插入前/插入后查询获取某个字段的值”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI