關於 mybatis oracle insert 返回主鍵(uuid)的操作
阿新 • • 發佈:2019-01-09
所謂返回主鍵,並不是說我需要在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了