service層:
1
2
3
|
public int adduser(userdomian user){ int i = usermapper.insert(user); } |
xml:
1
2
3
4
5
|
<insert id= "insert" parametertype= "....userdomain" > insert into t_user(user_name,password) values (#{username},#{password}) </insert> |
這樣usermapper的insert方法成功插入之后返回值為影響行數(shù),也就是1。而且插入之后userdomain實體類的userid為null。
我們都知道在mybatis中,xml的insert語句中將usegeneratedkeys指定為true,那么返回之后就會得到新增的主鍵值,具體寫法如下:
1
2
3
|
<insert id= "insert" parametertype= "....userdomain" usegeneratedkeys= "true" keyproperty= "userid" > insert into t_user(user_name,password)values(#{username},#{password}) </insert> |
前提條件是對應(yīng)的mysql表中id必須是自增的,并且對應(yīng)的userdomain實體類中有g(shù)et、set方法,而且只適用于與mysql數(shù)據(jù)庫,oracle數(shù)據(jù)庫不支持。
但是這樣設(shè)置之后,在service層打斷點,插入成功之后userdomain確實和之前不一樣,他的userid不再是null了,而是具體的主鍵id值,但是usetmapper的insert方法的返回值依然是1,也就是插入的影響行數(shù)。
也就是說,這樣設(shè)置,mapper接口返回值依然是成功插入的記錄數(shù),但不同的是主鍵值已經(jīng)賦值到領(lǐng)域模型實體的id中了。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對服務(wù)器之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
原文鏈接:https://blog.csdn.net/hz_940611/article/details/80773139