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