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語(yǔ)句中將useGeneratedKeys指定為true,那么返回之后就會(huì)得到新增的主鍵值,具體寫(xiě)法如下:
<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ù)庫(kù),Oracle數(shù)據(jù)庫(kù)不支持。
但是這樣設(shè)置之后,在service層打斷點(diǎn),插入成功之后UserDomain確實(shí)和之前不一樣,他的userId不再是null了,而是具體的主鍵id值,但是usetMapper的insert方法的返回值依然是1,也就是插入的影響行數(shù)。
也就是說(shuō),這樣設(shè)置,mapper接口返回值依然是成功插入的記錄數(shù),但不同的是主鍵值已經(jīng)賦值到領(lǐng)域模型實(shí)體的id中了。
總結(jié)
以上就是這篇文章的全部?jī)?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編程語(yǔ)言中的一個(gè)類,用于將字符寫(xiě)入文件,它提供了一種簡(jiǎn)單而方便的方式來(lái)創(chuàng)建、打開(kāi)和寫(xiě)入文件,通過(guò)使用FileWriter,我們可以將字符數(shù)據(jù)寫(xiě)入文本文件,需要的朋友可以參考下2023-10-10
java連接數(shù)據(jù)庫(kù)知識(shí)點(diǎn)總結(jié)以及操作應(yīng)用
這篇文章主要給大家介紹了關(guān)于java連接數(shù)據(jù)庫(kù)知識(shí)點(diǎn)總結(jié)以及操作應(yīng)用的相關(guān)資料, 當(dāng)涉及到Java中數(shù)據(jù)庫(kù)數(shù)據(jù)處理時(shí),我們可以利用強(qiáng)大的Java數(shù)據(jù)庫(kù)連接技術(shù)與各種數(shù)據(jù)庫(kù)進(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判斷今天,昨天,前天,不能用秒間隔的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇java判斷今天,昨天,前天,不能用秒間隔的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03

