1. 程式人生 > >SpringBoot圖文教程11—從此不寫mapper檔案「SpringBoot整合MybatisPlus」

SpringBoot圖文教程11—從此不寫mapper檔案「SpringBoot整合MybatisPlus」

![](https://img2020.cnblogs.com/blog/1003051/202003/1003051-20200305210955270-1925372518.png) > **有天上飛的概念,就要有落地的實現** > > - 概念十遍不如程式碼一遍,朋友,希望你把文中所有的程式碼案例都敲一遍 > > - 先贊後看,養成習慣 **SpringBoot 圖文教程系列文章目錄** 1. [SpringBoot圖文教程1「概念+案例 思維導圖」「基礎篇上」](https://mp.weixin.qq.com/s/phk6j3ChBP-kPtS2xZeEZg) 2. [SpringBoot圖文教程2—日誌的使用「logback」「log4j」](https://mp.weixin.qq.com/s/7Mw_xhFF4Q5NtdtcsHc67Q) 3. [SpringBoot圖文教程3—「‘初戀’情結」整合Jsp](https://mp.weixin.qq.com/s/BYzVg5NBcF_ou_PyX8ygag) 4. [SpringBoot圖文教程4—SpringBoot 實現檔案上傳下載](https://mp.weixin.qq.com/s/6ctykPo3eDBEB7YsC0PAZw) 5. [SpringBoot圖文教程5—SpringBoot 中使用Aop](https://mp.weixin.qq.com/s/17qMRlv_mUfwkcVD05Bh2g) 6. [SpringBoot圖文教程6—SpringBoot中過濾器的使用](https://mp.weixin.qq.com/s/r2BO4UMNRAw_REA6nNFLKw) 7. [SpringBoot圖文教程7—SpringBoot攔截器的使用姿勢這都有](https://mp.weixin.qq.com/s/YpDhuOTpt1vjYjnhnK8YdQ) 8. [SpringBoot圖文教程8 — SpringBoot整合MBG「程式碼生成器」](https://mp.weixin.qq.com/s/uGYO4fkw03Kxpfp_PIA8rQ) 9. [SpringBoot圖文教程9—SpringBoot 匯入匯出 Excel 「Apache Poi」](https://mp.weixin.qq.com/s/BXfxhO5rFFg6XZQ0rZgGMg) 10. [SpringBoot圖文教程10—模板匯出|百萬資料Excel匯出|圖片匯出「easypoi」](https://mp.weixin.qq.com/s/8Yqfn27UCFP2lU3_IYb5AQ) ## 前言 在使用Mybatis進行專案開發的時候,最繁瑣的事情就是實體類,dao介面,mapper.xml檔案的編寫,幾乎每個表都需要對應寫一套,並且大部分的工作量都在最基本的增刪改查上。如果表中的欄位進行了修改,那麼實體類,mapper檔案甚至dao介面都要進行修改。 ![](https://img2020.cnblogs.com/blog/1003051/202003/1003051-20200305210956498-1104293424.png) **在之前的文章中介紹了 MBG(Mybatis 程式碼生成器) 的使用,今天帶來更進一步的簡化Mybatis開發的工具 MybatisPlus,後續還會有 通用Mapper,總有一款適合你。** ## MybatisPlus > MybatisPlus 可以認為一個Mybatis的外掛,用了這個技術之後 可以不寫mapper檔案 可以不寫dao介面中的方法 然後實現增刪改查 分頁查詢 條件查詢 等等 > ### 什麼是Mybatis Plus [MyBatis-Plus](https://github.com/baomidou/mybatis-plus)(簡稱 MP)是一個 [MyBatis](http://www.mybatis.org/mybatis-3/) 的增強工具,在 MyBatis 的基礎上只做增強不做改變,為簡化開發、提高效率而生。 > 在 MyBatis 的基礎上只做增強不做改變 > > 意味著 如果你匯入了Mybatisplus的依賴 但是不想用Mybatisplus的方法 ,那麼 不會影響到Mybatis的正常使用 > > 官方文件:https://mp.baomidou.com/guide/crud-interface.html#page ### MybatisPlus的使用 #### 整合專案 1. 匯入Mybatisplus的依賴 > **注意:要首先刪除Mybatis的依賴**,因為Mybatisplus中包含有Mybatis的依賴 不需要獨立匯入 容易jar包衝突 > > ![](https://img2020.cnblogs.com/blog/1003051/202003/1003051-20200305210958565-447167527.png) ``` ``` 2. 修改配置檔案 ![](https://img2020.cnblogs.com/blog/1003051/202003/1003051-20200305210959510-482366574.png) #### 通過MybatisPlus實現增刪改查 > 教程新手向,只講解Mybatis最常用,最基本的API,更多的操作請參考官方文件 > **demo使用到的資料庫庫表如下** > ![](https://img2020.cnblogs.com/blog/1003051/202003/1003051-20200305211002236-578444407.png) 1. 給要資料庫操作的實體類加Mybatisplus的註解 > 因為Mybatisplus不需要寫mapper檔案 不需要寫sql 那麼Mybatisplus怎麼知道實體類和資料庫表對映關係(ORM) 通過註解表明這種關係 ``` /** * @TableName("cmfz_admin") 將當前的實體類和資料庫的表建立聯絡 * 註解引數:表名 */ @TableName("cmfz_admin") @Data public class CmfzAdmin implements Serializable { /** * 主鍵屬性 @TableId * * value 該屬性對應的資料庫表中的欄位名 * type 主鍵自增的型別 AUTO 代表自動遞增 */ @TableId(value = "id",type = IdType.AUTO) private Integer id; /** * 非主鍵屬性 @TableField * @TableField("username") 引數為該屬性對應的資料庫表中的欄位名 * */ @TableField("username") private String username; @TableField("password") private String password; } ``` 2. 建立dao介面 ```java import com.baizhi.entity.CmfzAdmin; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * 注意: * 1.介面中不需要寫方法 * 2.介面需要繼承MybatisPlus中的類 BaseMapper 泛型為 當前dao對應的實體類 */ public interface CmfzAdminDao extends Ba