MyBatis中如何實現(xiàn)insert操作插入數(shù)據(jù)之后返回插入記錄的id

這篇文章將為大家詳細講解有關(guān)MyBatis中如何實現(xiàn)insert操作插入數(shù)據(jù)之后返回插入記錄的id,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)公司作為成都網(wǎng)站建設公司,專注成都網(wǎng)站建設公司、網(wǎng)站設計,有關(guān)企業(yè)網(wǎng)站建設方案、改版、費用等問題,行業(yè)涉及航空箱等多個領(lǐng)域,已為上千家企業(yè)服務,得到了客戶的尊重與認可。

MyBatis插入數(shù)據(jù)的時候,返回該記錄的id

<insert id="insert" 
keyProperty="id" 
useGeneratedKeys="true"?     parameterType="com.demo.domain.CountRateConfig">?
insert into query_rate_config (code,partner_type,search_count, booking_count, ticket_count,rate_type)?
values (#{code,jdbcType=VARCHAR},#{partnerType,jdbcType=TINYINT}, #{searchCount,jdbcType=INTEGER},?  #{bookingCount,jdbcType=INTEGER}, #{ticketCount,jdbcType=INTEGER},#{rateType,jdbcType=TINYINT})?</insert>

首先我們應該保證數(shù)據(jù)庫的主鍵Id是自增的,另外需要設置的兩個屬性為:

keyProperty="id"
useGeneratedKeys="true"?

這樣的話,我們在插入數(shù)據(jù)之后,就可以得到插入數(shù)據(jù)之后的對象,然后通過該對象獲取該對象的id。

useGeneratedKeys=”true” 可以獲取自增長的ID 只支持具有自增長方式的那種數(shù)據(jù)庫(MySQL, mssql 等 但 oracle 就不支持了 )

案例如下:

1、MyBatis的配置文件如上遍所示的一段代碼;

2、使用的Java代碼如下:

@Override
  public int insert(CountRateConfig countRateConfig) {
    int insertNum = Integer.parseInt(countRateConfigMapper.insert(countRateConfig) + "");
    Long id = countRateConfig.getId();
    return insertNum;
  }

3、上述代碼,如果插入數(shù)據(jù)成功的話,則可以找到數(shù)據(jù)庫中對應的key;

結(jié)果是正確的,即可以讀取正確的id。

關(guān)于“MyBatis中如何實現(xiàn)insert操作插入數(shù)據(jù)之后返回插入記錄的id”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

網(wǎng)頁名稱:MyBatis中如何實現(xiàn)insert操作插入數(shù)據(jù)之后返回插入記錄的id
地址分享:http://muchs.cn/article48/gdipep.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作手機網(wǎng)站建設、用戶體驗、、App設計網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設公司