MyBatis返回插入的資料主鍵

2021-08-27 15:39:02 字數 1037 閱讀 8343

在mybatis開發過程中,我們經常需要解決乙個問題:當插入一條資料的時候,我在接下來的操作中我需要知道剛剛插入的是哪條資料,這樣我們需要獲取插入資料的主鍵;如何在mybatis中解決這個問題呢?

首先,我這裡有兩張表,其中計算層數表和計算參數列有這一對多的關係,層次編號在計算層數表中為主鍵在計算參數列中為主鍵,我現在做的操作是,先向計算層數表中插入一條記錄:

callayer = new callayer();

callayer.setcalorder(integer.parseint(str[3*i]));

callayer.setprjid(1);

int typeid = findtypeidbyname(typename);

callayer.setcaltypeid(typeid);

其中callayer類為計算層數表所對應的實體類。

將這裡紅色的部分去掉,紅色部分作用是查詢出對應的資料庫中主鍵最大值。

然後在標籤中加入usegeneratedkeys="true" keyproperty="layerid"者兩個屬性即可。

insert into cal_layer (layerid, prjid, cal_order, 

cal_typeid)

values (#, #, #,

#)

現在,我們就可以像計算參數列進行新增資料了。

layerparms = new layerparms();

layerparms.setlayerid(callayer.getlayerid());

其中:callayer即為上面建立的callayer物件。

還有其他方法的夥伴們,歡迎共享。

MyBatis插入資料返回主鍵的介紹

service層 public int adduser userdomian user xxrfvyyj xml insert into t user user name,password values 這樣usermapper的insert方法成功插入之後返回值為影響行數,也就是1。而且插入之後u...

MyBatis MySQL 返回插入記錄的主鍵ID

一 nginx基本配置 二 nginx日誌檔案配置 在nginx中conf中的nginx.conf有一段關於日誌檔案的配置 三 製作按時間切割日誌檔案的指令碼 1.製作切割日誌指令碼cutlog.sh 2.使用定時執行命令 1 crontab e 進入編輯 2 輸入 每天23 59定時執行cutlo...

Mybatis 插入資料時返回主鍵的方法

mysql插入資料後獲得主鍵 針對自增主鍵的表,在插入時不需要主鍵,而是在插入過程自動獲取乙個自增的主鍵,比如mysql,add parametertype vo.category usegeneratedkeys true keyproperty id insert into category n...