MyBatis insert 返回主鍵的方法

2021-08-27 01:29:22 字數 802 閱讀 1360

今天使用mybatis時,把資料庫切換成oracle,以前都是db2和mysql。

本來以為改個配置檔案就沒問題了,

結果發現oracle中建表的的主鍵自增不能像db2和mysql一樣來個identity自增。

oracle自增必須得配乙個sequence。

造成了配置檔案修改。

插入操作

對於自增主鍵的表,插入可以不配置插入的主鍵列。否則是必須的。

獲取主鍵

插入語句之前配置:主要是針對sequence主鍵而言,插入前必須指定乙個主鍵值給要插入的記錄。oracle、db2亦如此,方法是在插入語句標籤之前配置上:

select seq_test.nextval from dual

insert into

altname(primaryname,alternatename,type)values(#,#,#)

插入語句之後配置:蛀牙是針對自增主鍵的表而言,這類表在插入時不需要主鍵,而是在插入過程自動獲取乙個自增的主鍵。比如mysql

select last_insert_id()

insert into

altname(primaryname,alternatename,type)values(#,#,#)

當然,是否需要配置根據情況,只要能保證記錄有主鍵即可。一旦配置了,就可以在執行插入操作時獲取到新增記錄的主鍵。

注意:如果沒有配置那麼儲存後的物件的主鍵依舊為null.

mybatis insert返回主鍵

使用springboot整合shiro寫demo的時候發現乙個問題,當我在使用mybatis的insert標籤時,adduser usegeneratedkeys true keyproperty userid 插入一點問題也沒有,但是當我們拿到userid的時候永遠是1,因為它返回的是插入成功的數...

MyBatis insert操作返回主鍵

在使用mybatis做持久層時,insert語句預設是不返回記錄的主鍵值,而是返回插入的記錄條數 如果業務層需要得到記錄的主鍵時,可以通過配置的方式來完成這個功能 針對sequence主鍵而言,在執行insert sql前必須指定乙個主鍵值給要插入的記錄,如oracle db2,可以採用如下配置方式...

Mybatis insert返回主鍵ID

mybatis insert語句書寫insert id insertselective usegeneratedkeys true keyproperty fileid parametertype filealias insert into t file info insert usegenerat...