这篇文章主要介绍了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如何在插入前/插入后查询获取某个字段的值”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。