加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle mybatis 新增返回主键ID

发布时间:2020-12-12 14:16:13 所属栏目:百科 来源:网络整理
导读:写上 selectKey resultType="String" order="BEFORE" keyProperty="enterp_no" SELECT PRSP_CRM_ENTERP_ID.nextval FROM DUAL /selectKey 其中: PRSP_CRM_ENTERP_ID.nextval 是oracle 序列自增。因为oracle 中没有自增设置。。 DUAL : 这个不需要变化。 re

写上

<selectKey resultType="String" order="BEFORE" keyProperty="enterp_no">
SELECT PRSP_CRM_ENTERP_ID.nextval FROM DUAL
</selectKey>

其中:PRSP_CRM_ENTERP_ID.nextval 是oracle 序列自增。因为oracle 中没有自增设置。。

DUAL : 这个不需要变化。

resultType :正常的返回值。 也就是PRSP_CRM_ENTERP_ID.nextval 的返回值类型

order :这个oracle 必须写BEFORE,mysql 是after 。

keyProperty:这个是你的实体类中的一个属性。

注意:

如何操作呢?

这里上面明显new 一个对象 但是只存了两个值。如果执行了上面一个新增语句,那么这个 ID 就会映射到实体类中了。。直接取得就好了。。

注意:不能直接取 retID 不然这个永远都是 1。。。 不要采坑

mysql 中 如下:

  1. <insertid="insert"parameterType="cn.***.beans.LogObject">
  2. <selectKeyresultType="java.lang.Integer"order="AFTER"keyProperty="id">
  3. SELECTLAST_INSERT_ID()ASID
  4. </selectKey>
  5. INSERTINTOS_T_LOGS(
  6. ID,
  7. USER_ID,
  8. USER_NAME,
  9. USER_IP,
  10. OPERATION_TIME,
  11. DESCRIPTION,
  12. RESOURCE_ID)
  13. VALUES(
  14. #{id},
  15. #{userId},
  16. #{userName},
  17. #{userIp},
  18. #{operationTime},
  19. #Xml代码 insertid="insert"parameterType="cn.***.beans.LogObject"> selectKeyresultType="java.lang.Integer"order="BEFORE"keyProperty="id"> SELECTLOGS_SEQ.nextvalASIDFRO,
  20. #{resourceId})
  21. </insert>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读