mybatis 獲取insert返回的主鍵

2022-08-01 09:48:09 字數 771 閱讀 3389

在我們開發過程中,在插入資料到資料庫時,很多時候都需要把其主鍵返回,這裡就說一下mybatis是怎麼獲取的。

其中mysql和oracle是不同的做法,因為mysql本身就提供欄位自增的屬性,而oracle則需要使用序列。

insert into users (id, user_name, password, 

real_name, status, email,

created_at, updated_at)

values (#, #, #,

#, #, #,

#, #)

配置中,keyproperty表示返回的id要儲存到物件的那個屬性中,這裡的名字要和物件的欄位名對應上。而usegeneratedkeys表示主鍵id為自增長模式。mysql的話只要加上這兩個屬性就可以了,加上後會自動把主鍵set到物件的屬性上。

select seq_user.nextval as id from dual

insert into users (id, user_name, password,

real_name, status, email,

created_at, updated_at)

values (#, #, #,

#, #, #,

#, #)

因為oracle沒有自增的說法,所以不能使用usegeneratedkeys了。而是使用selectkey把id獲取並set到物件的屬性中。

Mybatis基本對映 INSERT

本章學習mysql基本對映 insert相關知識點。insert的用法比select要簡單很多。本系列文章是基於mybatis 3.4.6 版本,資料庫使用的是mysql 5.7。insert標籤常用屬性 parametertype 該屬性的含義就是其字面意思,即傳入語句的引數型別,是類的全限定類名...

mybatis批量insert到Oracle資料庫

1 使用mybatis的foreach語法 private static void listinsert system.out.println 60萬條耗時 system.currenttimemillis start 對應的 sql語句 insert into aop trade log id,b...

MyBatis批量插入 insert 資料操作

在程式中封裝了乙個list集合物件,然後需要把該集合中的實體插入到資料庫中,由於專案使用了spring mybatis的配置,所以打算使用mybatis批量插入,由於之前沒用過批量插入,在網上找了一些資料後最終實現了,把詳細過程貼出來。實體類trainrecord結構如下 1 2 3 4 5 6 7...