本文是簡單對比了以下官網上的內容
文章目錄
TkMybatis Vs MybatisPlus
1.基礎CRUD BaseMapper
基本一樣,只是方法名不一樣,tk和MBG更貼切
2.代碼生成器
Mybatis-Plus
通過 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各個模塊的代碼,極大的提升了開發效率。對原生的MBG進行了封裝,更友好
Tk-Mybatis
代碼生成器是基於 MBG 插件的,所以需要配合 MBG 使用。更貼近原生
3. 全局主鍵 Sequence主鍵
Mybatis-Plus
oracle等數據庫主鍵策略配置Sequence
實體類配置主鍵Sequence,指定主鍵@TableId(type=IdType.INPUT)//不能使用AUTO
支持父類定義@KeySequence, 子類使用,這樣就可以幾個表共用一個Sequence
針對各種數據庫的策略。
Tk-Mybatis
全局ID生成器 Vesta、UUID
兩種策略是不太一樣的。@KeySql(genId = UUIdGenId.class) ,Mapper 4.0.2
4. 熱加載
Mybatis-Plus
3.0.6版本上移除了該功能,不過最新快照版已加回來並打上廢棄標識,3.1.0版本上已完全移除
多數據源配置多個 MybatisMapperRefresh 啟動 bean
默認情況下,eclipse保存會自動編譯,idea需自己手動編譯一次
/**
* 切莫用於生產環境(后果自負)
* <p>Mybatis 映射文件熱加載(發生變動后自動重新加載).</p>
* <p>方便開發時使用,不用每次修改xml文件后都要去重啟應用.</p>
*
* @author nieqiurong
* @since 2016-08-25
* @deprecated 2018-11-26
*/
哈哈哈哈
TK-Mybatis
不支持
5. 分頁
Mybatis-Plus
分頁插件
Tk.Mybatis
pagehelper
6. 額外功能
Mybatis-Plus
- 邏輯刪除
- 內置代碼生成器:采用代碼或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 層代碼,支持模板引擎,更有超多自定義配置等您來使用
- 內置分頁插件:基於 MyBatis 物理分頁,開發者無需關心具體操作,配置好插件之后,寫分頁等同於普通 List 查詢
- 內置性能分析插件:可輸出 Sql 語句以及其執行時間,建議開發測試時啟用該功能,能快速揪出慢查詢
- 內置全局攔截插件:提供全表 delete 、 update 操作智能分析阻斷,也可自定義攔截規則,預防誤操作
- 內置 Sql 注入剝離器:支持 Sql 注入剝離,有效預防 Sql 注入攻擊
- 多數據源
Tk.Mybatis
- 樂觀鎖
- 支持分頁 pagehelper
- 多數據源