mybatis向數(shù)據(jù)庫里插入記錄后自動返回記錄ID問題
mybatis向數(shù)據(jù)庫里插入記錄后自動返回記錄ID
近期維護(hù)一個接手項(xiàng)目,因?yàn)檎襜ug,重構(gòu)其中一個業(yè)務(wù)處理邏輯,當(dāng)中包括性能優(yōu)化。我懷疑,性能是導(dǎo)致bug的一個重要原因。其實(shí),就算性能與bug無關(guān),按照我的秉性,也會忍不住半夜起來優(yōu)化一下。
這里面說的性能,包括之前的代碼濫用了數(shù)據(jù)庫。最典型的,是插入一條記錄,為了得到記錄的ID(主鍵,自增字段),然后又查找了一遍,并且這個查找,因?yàn)楝F(xiàn)在還不知道ID,所以又結(jié)合了過濾條件。幾十萬條記錄的表里查找,不說大海撈針,也是沙堆里淘寶,”千淘萬漉雖辛苦,吹盡狂沙始到金“,服了。
但是,以前搞.NET的時(shí)候,插入記錄,系統(tǒng)會自動刷新實(shí)體類,為里面的主鍵ID賦值,根本不需要自己去查找。
Spring Boot項(xiàng)目mybatis其實(shí)也是一樣的,具體如下:
1、表設(shè)計(jì)時(shí)
ID(假設(shè)字段名叫ID)是主鍵,自增
2、mybatis的xml中
insert語句要指明主鍵
3、java代碼
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
JSON for java快速入門總結(jié)學(xué)習(xí)
這篇文章主要介紹了JSON for java入門總結(jié)學(xué)習(xí),有需要的可以了解一下。2016-11-11詳解Java如何優(yōu)雅的實(shí)現(xiàn)異常捕獲
在一個優(yōu)秀的項(xiàng)目中一定少不了對程序流程良好的異常捕獲與日志打印,所以本文主要為大家介紹了如何優(yōu)雅的實(shí)現(xiàn)異常捕獲與日志打印輸出,有需要的可以參考下2023-09-09SpringBoot自帶模板引擎Thymeleaf使用示例詳解
Thymeleaf是一款用于渲染XML/HTML5內(nèi)容的模板引擎,類似JSP,它可以輕易的與SpringMVC等Web框架進(jìn)行集成作為Web應(yīng)用的模板引擎,本文給大家介紹SpringBoot自帶模板引擎Thymeleaf使用示例,感興趣的朋友一起看看吧2023-12-12java lambda 表達(dá)式中的雙冒號的用法說明 ::
這篇文章主要介紹了java lambda 表達(dá)式中的雙冒號的用法說明 ::具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09MyBatis-Plus中最簡單的查詢操作教程(Lambda)
這篇文章主要給大家介紹了關(guān)于MyBatis-Plus中最簡單的查詢操作的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-03-03@DynamicUpdate //自動更新updatetime的問題
這篇文章主要介紹了@DynamicUpdate //自動更新updatetime的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07Java實(shí)現(xiàn)的AES256加密解密功能示例
這篇文章主要介紹了Java實(shí)現(xiàn)的AES256加密解密功能,結(jié)合完整實(shí)例形式分析了Java實(shí)現(xiàn)AES256加密解密功能的步驟與相關(guān)操作技巧,需要的朋友可以參考下2017-02-02