Mybatis 和Mybatis Plus 的差異
Mybatis-Plus是一個Mybatis的增強工具,只是在Mybatis的基礎上做了增強卻不做改變,MyBatis-Plus支援所有Mybatis原生的特性,所以引進Mybatis-Plus不會對現有的Mybatis架構產生任何影響。
MyBatis-Plus 優點
1、只依賴Mybatis 以及Mybatis -Spring 。
2、損耗小:啟動即會自動注入基本 CURD,效能基本上無損耗,直接物件導向操作 。
3、預防Sql注入:內建 Sql 注入剝離器,有效預防Sql注入攻擊 。
4、通用CRUD操作:內建通用 Mapper、通用 Service,僅透過少量配置即可實現單表大部分 CRUD 操作,更有強大的條件建構器,滿足各類使用需求 。
5、多種主鍵策略:支援多達4種主鍵策略(內含分散式唯一ID產生器),可自由配置,完美解決主鍵問題 。
6、支援熱加載:Mapper 對應的XML 支援熱加載,對於簡單的CRUD 操作,甚至可以無XML 啟動
7、支援ActiveRecord:支援ActiveRecord 形式調用,實體類別只需繼承Model 類別即可實現基本CRUD 操作
8、支援程式碼產生:採用程式碼或Maven 外掛程式可快速產生Mapper 、 Model 、 Service 、 Controller 層程式碼(產生自訂文件,避免開發重複程式碼) ,支援模板引擎、有超多自訂配置等。
9、支援自訂全域通用操作:支援全域通用方法注入( Write once, use anywhere )。
10、支援關鍵字自動轉義:支援資料庫關鍵字(order、key…)自動轉義,也可自訂關鍵字 。
11、內建分頁外掛:基於 Mybatis 物理分頁,開發者無需關心具體操作,配置好外掛程式之後,寫分頁等同於普通List查詢。
12、內建效能分析外掛程式:可輸出 Sql 語句以及其執行時間,建議開發測試時啟用此功能,能有效解決慢查詢 。
13、內建全域攔截插件:提供全表 delete 、 update 操作智慧分析阻斷,預防誤操作。
14、預設將實體類別的類別名稱尋找資料庫中的表,使用@TableName(value="table1")註解指定表名,@TableId指定表主鍵,若欄位與表中欄位名稱保持一致可不加註解。
推薦教學:《Java教學》
以上是Mybatis 和 Mybatis Plus 的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!