1. 程式人生 > >關於 mybatis oracle insert 返回主鍵(uuid)的操作

關於 mybatis oracle insert 返回主鍵(uuid)的操作

   所謂返回主鍵,並不是說我需要在insert的時候直接返回uuid。實際上是什麼意思呢?比如我在執行一個插入操作,入參物件中並沒有傳入主鍵id,我們需要在mybatis中生成這個主鍵,並且在插入到資料庫中的同時,給我這個入參的主鍵id也賦值。這樣在我執行完inser操作後就可以值通過物件.getid的方式獲取這個主鍵id。

例如我的入參叫做user,那麼我們需要做哪兒些操作呢?

首先是在insert語句中加上這麼一段程式碼:

<selectKey resultType="java.lang.String" keyProperty="user.id" order="BEFORE">
SELECT sys_guid() FROM DUAL
</selectKey>

之後的inser語句就變成了:

<insert id="aa">
   <selectKey resultType="java.lang.String" keyProperty="user.id" order="BEFORE">
SELECT sys_guid() FROM DUAL
   </selectKey>
insert into user(id,name) values(#{user.id},#{user.name})
</insert>
這樣,我們在執行完insert方法之後,使用user.getid()方法就可以獲取到我們插入的資料的id了