神器 通用Mapper

2021-10-24 12:18:49 字數 688 閱讀 6807

極其方便的使用mybatis單錶的增刪改查。

支援單錶操作,不支援通用的多表聯合查詢。

我個人最早用 mybatis 時,先是完全手寫,然後用上了 mybatis **生成器(簡稱為 mbg),在使用 mbg 過程中,發現乙個很麻煩的問題,如果資料庫字段變化很頻繁,就需要反覆重新生成**,並且由於 mbg 覆蓋生成**和追加方式生成 xml,導致每次重新生成都需要大量的比對修改。除了這個問題外,還有乙個問題,僅僅基礎的增刪改查等方法,就已經產生了大量的 xml 內容,還沒有新增乙個自己手寫的方法,**可能就已經幾百行了,內容多,看著比較礙事。

三、使用前的疑問

(1)這個東西使用後,會不會降低我們的**執行效率呢?

答:其實他的原理就是利用反射機制拼出的 xml形式的動態sql然後去執行,所以你說**時間消耗肯定也會有一些,但是這是很小很小的,再者在現在專案中,對於提供給前端的介面,通常都會利用些元件進行訪問加速(畢竟直接從資料中檢索不如在記憶體中來的快些),比如:redis、memcache、elastic search、solr等,所以執行效率問題是可以避免或忽略的。

(2)如果有些方法不想使用,例如:使用者的介面服務不能使用刪除方法也不想暴漏出來,該怎麼辦呢?

實體類配置

通過 mbg 配合 專用**生成器可以直接生成實體類等基礎**,為了避免資訊量過大,這裡當作手工編寫和配置。

使用編寫service呼叫介面即可

筆記 通用Mapper

需要使用包裝型別,不能使用基本資料型別。由於基本型別都有預設值,會導致mabatis在執行相關操作的時候很難判斷當前字段是否為null,所以mybatis環境下盡量不要使用基本資料型別。int預設0,double預設0.0 public inte ce extends serviceimpl aut...

mysql 通用mapper 通用Mapper

原理是 如何實現動態拼接sql語句?思路 編寫mybatis的外掛程式,在執行過程中動態生成sql語句 2 簡介 3 在mybatis的配置檔案中進行配置 p public config 3.0 en 3.3 service 使用 servicepublic classnewuserservice ...

通用mapper的總結

通過唯一屬性 name 之類的 查詢乙個使用者用 selectone 查詢多個用 select 方法 查詢個數用 selectcount 如果要查詢所有的使用者 就在selectcount null 方法中傳入null 通過主鍵查詢 selectbyprimarykey 一定要用 id在bean中設...