目錄
一、Mybatis-Plus簡介
1.1、介紹
1.2、特性
1.3、架構
1.4、Mybatis-Plus與Mybatis的區別
二、快速入門
2.1、首先創建數據庫mybatis-plus
2.2、創建user表
2.3、插入數據
2.4、創建Spring-Boot項目
2.5、添加依賴
2.6、連接數據庫
一、Mybatis-Plus簡介
1.1、介紹
MyBatis-PlusMyBatis-Plus 官方文檔https://baomidou.com/
MyBatis-Plus(簡稱 MP)是?個 MyBatis 的增強?具,在 MyBatis 的基礎上只做增強不做改變,為簡化開發、提高效率而生。
1.2、特性
簡化CRUD操作:MyBatis-Plus提供了通用的Mapper接口和通用的Service接口,簡化了常見的CURD操作。無需編寫XML文件和手動編寫SQL語句,只需繼承通用Mapper接口或Service接口,即可使用常見的CRUD方法。
自動生成代碼:MyBatis-Plus可以根據數據庫表自動生成實體類、Mapper接口和XML文件,大大減少了手動編寫代碼的工作量。
支持分頁查詢:MyBatis-Plus提供了分頁插件,可以在查詢數據時直接指定分頁參數,方便進行分頁查詢。
條件構造器:MyBatis-Plus提供了條件構造器,可以通過鏈式調用的方式生成查詢條件,使得查詢條件更加清晰易讀。
代碼生成器:MyBatis-Plus內置了一個代碼生成器,可以根據數據庫表自動生成實體類、Mapper接口和XML文件,大大提高了開發效率。
樂觀鎖支持:MyBatis-Plus提供了樂觀鎖的支持,可以在更新數據時進行版本校驗,避免數據沖突問題。
SQL注入器:MyBatis-Plus提供了一個強大的SQL注入器,支持自定義的全局SQL方法,可以實現一些復雜的SQL查詢需求。
自動填充:MyBatis-Plus提供了自動填充功能,可以在插入或更新數據時自動填充某些字段,如創建時間和更新時間等。
多租戶支持:MyBatis-Plus提供了多租戶的支持,可以在查詢數據時自動根據租戶ID添加過濾條件,實現多租戶數據隔離。
1.3、架構
1.4、Mybatis-Plus與Mybatis的區別
語法簡化:Mybatis-Plus通過使用注解和API簡化了Mybatis的配置和操作,減少了開發者的編碼量。
自動代碼生成:Mybatis-Plus提供了代碼生成器,可以根據數據庫表生成對應的實體類、mapper接口和mapper XML文件,減少了手動編寫的工作量。
分頁插件:Mybatis-Plus內置了分頁插件,可以方便地進行分頁查詢。
條件查詢:Mybatis-Plus提供了強大的條件查詢功能,可以通過鏈式調用的方式進行復雜的查詢操作。
通用CRUD操作:Mybatis-Plus提供了通用的CRUD操作方法,可以簡化對數據庫的增刪改查操作。
邏輯刪除:Mybatis-Plus支持邏輯刪除,可以通過在表中添加一個標記字段來實現邏輯刪除功能。
自動填充:Mybatis-Plus提供了自動填充功能,可以在插入或更新操作時自動填充某些字段的值,如創建時間、更新時間等。
二、快速入門
2.1、首先創建數據庫mybatis-plus
2.2、創建user表
2.3、插入數據
2.4、創建Spring-Boot項目
2.5、添加依賴
<!--MySQL驅動-->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><!-- 可通過version設置版本號 -->
</dependency><!-- lombok -->
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId>
</dependency><!-- mybatisplus -->
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.0.5</version>
</dependency>
2.6、連接數據庫
# 數據庫8.版本需要加上cj
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=root