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

2022-10-05 04:15:13 字數 753 閱讀 8384

service層:

public int adduser(userdomian user)xxrfvyyj

xml:

insert into t_user(user_name,password)

values

(#,#)

這樣usermapper的insert方法成功插入之後返回值為影響行數,也就是1。而且插入之後userdomain實體類的userid為null。

我們都知道在mybatis中,***rfvyyjml的insert語句中將usegeneratedkeys指定為true,那麼返回之後就會得到新增的主鍵值,具體寫法如下:

程式設計客棧="....userdomain" usegeneratedkeys="true" keyproperty="userid">

insert into t_user(user_name,password)values(#,#)

前提條件是對應的mysql表中id必須是自增的,並且對應的userdomain實體類中有get、set方法,而且只適用於與mysql資料庫,oracle資料庫不支援。

但是這樣設定之後,在service層打斷點,插入成功之後userdomain確實和之前不一樣,他的userid不再是null了,而是具體的主鍵id值,但是usetmapper的in程式設計客棧sert方法的返回值依然是1,也就是插入的影響行數。

也就是說,這樣設定,mapper介面返回值依然是成功插入的記錄數,但不同的是主鍵值已經賦值到領域模型實體的id中了。

總結

MyBatis返回插入的資料主鍵

在mybatis開發過程中,我們經常需要解決乙個問題 當插入一條資料的時候,我在接下來的操作中我需要知道剛剛插入的是哪條資料,這樣我們需要獲取插入資料的主鍵 如何在mybatis中解決這個問題呢?首先,我這裡有兩張表,其中計算層數表和計算參數列有這一對多的關係,層次編號在計算層數表中為主鍵在計算參數...

Mybatis插入返回主鍵id

記錄一下 mybatis 插入返回主鍵id sql語法 注意 需要新增引數usegeneratedkeys true keyproperty id usegeneratedkeys必須是ture keyproperty對應實體類id 傳值型別為當前對應實體類user insert into t us...

MyBatis插入資料後返回主鍵id

最近開發全棧專案時,前端有個資料行可以被隨便修改,所以必須給他乙個標識記錄該資料行,即向mysql資料庫中插入一條記錄後,需要獲取此條記錄的主鍵id值返回給前端。insertarticle parametertype article insert into article title,create ...