MyBatis插入數(shù)據(jù)返回主鍵的介紹
Service層:
public int addUser(UserDomian user){
int i = userMapper.insert(user);
}
xml:
<insert id="insert" parameterType="....UserDomain">
insert into t_user(user_name,password)
values
(#{userName},#{password})
</insert>
這樣userMapper的insert方法成功插入之后返回值為影響行數(shù),也就是1。而且插入之后userDomain實(shí)體類的userId為null。
我們都知道在MyBatis中,xml的insert語句中將useGeneratedKeys指定為true,那么返回之后就會(huì)得到新增的主鍵值,具體寫法如下:
<insert id="insert" parameterType="....UserDomain" useGeneratedKeys="true" keyProperty="userId">
insert into t_user(user_name,password)values(#{userName},#{password})
</insert>
前提條件是對(duì)應(yīng)的mysql表中id必須是自增的,并且對(duì)應(yīng)的UserDomain實(shí)體類中有g(shù)et、set方法,而且只適用于與mySql數(shù)據(jù)庫,Oracle數(shù)據(jù)庫不支持。
但是這樣設(shè)置之后,在service層打斷點(diǎn),插入成功之后UserDomain確實(shí)和之前不一樣,他的userId不再是null了,而是具體的主鍵id值,但是usetMapper的insert方法的返回值依然是1,也就是插入的影響行數(shù)。
也就是說,這樣設(shè)置,mapper接口返回值依然是成功插入的記錄數(shù),但不同的是主鍵值已經(jīng)賦值到領(lǐng)域模型實(shí)體的id中了。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
Java中FileWriter的用法及wirte()重載方法詳解
這篇文章主要介紹了Java中FileWriter的用法及wirte()重載方法詳解,FileWriter是Java編程語言中的一個(gè)類,用于將字符寫入文件,它提供了一種簡單而方便的方式來創(chuàng)建、打開和寫入文件,通過使用FileWriter,我們可以將字符數(shù)據(jù)寫入文本文件,需要的朋友可以參考下2023-10-10
java連接數(shù)據(jù)庫知識(shí)點(diǎn)總結(jié)以及操作應(yīng)用
這篇文章主要給大家介紹了關(guān)于java連接數(shù)據(jù)庫知識(shí)點(diǎn)總結(jié)以及操作應(yīng)用的相關(guān)資料, 當(dāng)涉及到Java中數(shù)據(jù)庫數(shù)據(jù)處理時(shí),我們可以利用強(qiáng)大的Java數(shù)據(jù)庫連接技術(shù)與各種數(shù)據(jù)庫進(jìn)行交互,需要的朋友可以參考下2023-12-12
關(guān)于stream().sorted()以及java中常用的比較器排序
這篇文章主要介紹了關(guān)于stream().sorted()以及java中常用的比較器排序,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05
mybatis TypeHandler注入spring的依賴方式
這篇文章主要介紹了mybatis TypeHandler注入spring的依賴方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
java判斷今天,昨天,前天,不能用秒間隔的簡單實(shí)例
下面小編就為大家?guī)硪黄猨ava判斷今天,昨天,前天,不能用秒間隔的簡單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03

