当前位置:   article > 正文

mybatis 多个selectKey是不行的 befor和after不能同时使用 UUID不自增 又要返回insert结果咋办_mybatis selectkey 多个

mybatis selectkey 多个

1、mybatis中,selectKey不能多个使用,否则会报错。

Mapped Statements collection already contains XXXX insert!selectKey

2、selectKey是为了解决自增的ID,然后直接返回插入的结果的。 (我的个人理解)

在befor之前,可以封装一些数据进sql

 

那么问题来了:

有这么业务场景:

1、ID不自增,使用UUID

2、还要返回insert的结果

于是,开始是这样写的:

  1. <insert id="insert">
  2. <selectKey resultType="string" keyProperty="announceId" order="BEFORE">
  3. <![CDATA[ SELECT UPPER(REPLACE(UUID(),'-','')) AS announceId]]>
  4. </selectKey>
  5. <selectKey keyProperty="announceId" order="AFTER" resultType="String">
  6. select last_insert_id()
  7. </selectKey>
  8. <![CDATA[
  9. INSERT INTO tbl_notify_announce (
  10. announce_id ,
  11. notify_id ,
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/241463?site
推荐阅读
相关标签
  

闽ICP备14008679号