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實體類的userId為null。
我們都知道在MyBatis中,xml的insert語句中將useGeneratedKeys指定為true,那么返回之后就會得到新增的主鍵值,具體寫法如下:
<insert id="insert" parameterType="....UserDomain" useGeneratedKeys="true" keyProperty="userId"> insert into t_user(user_name,password)values(#{userName},#{password}) </insert>
前提條件是對應的mysql表中id必須是自增的,并且對應的UserDomain實體類中有g(shù)et、set方法,而且只適用于與mySql數(shù)據(jù)庫,Oracle數(shù)據(jù)庫不支持。
但是這樣設置之后,在service層打斷點,插入成功之后UserDomain確實和之前不一樣,他的userId不再是null了,而是具體的主鍵id值,但是usetMapper的insert方法的返回值依然是1,也就是插入的影響行數(shù)。
也就是說,這樣設置,mapper接口返回值依然是成功插入的記錄數(shù),但不同的是主鍵值已經(jīng)賦值到領(lǐng)域模型實體的id中了。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
使用Java實現(xiàn)大小寫轉(zhuǎn)換實例代碼
最近在開發(fā)項目中遇到一個比較好用的方法,那就是對字符串中的字母大小進行轉(zhuǎn)換,所以下面這篇文章主要給大家介紹了關(guān)于如何使用Java實現(xiàn)大小寫轉(zhuǎn)換的相關(guān)資料,需要的朋友可以參考下2022-06-06Spring?Boot獲取resources目錄下的文件三種方式詳解
在Spring?Boot項目中,經(jīng)常需要獲取resources目錄下的文件,這些文件可以包括配置文件、模板文件、靜態(tài)資源等,這篇文章主要介紹了Spring?Boot獲取resources目錄下的文件的三種方式,需要的朋友可以參考下2023-06-06一文告訴你為什么要重寫hashCode()方法和equals()方法
本篇文章帶大家了解一下為什么重寫hashCode()方法和equals()方法,文中有非常詳細的說明以及代碼示例,對正在學習java的小伙伴們很有幫助,需要的朋友可以參考下2021-05-05