前言
在持久層框架中 mybatis 應用比較多,而且比重在逐漸的上升,通常專案的組合是 SSM,mybatis 之所以火,是因為他的靈活,使用方便,優化比較容易,
mybatis 的直接執行 sql 陳述句, sql 陳述句是寫在 xml 檔案中,使用 mybatis 需要多個 xml 組態檔,在一定程度上比較繁瑣,一般資料庫的操作都要涉及到CURD,
mybatis-plus 是在 mybatis 上的增強,減少了 xml 的配置,幾乎不用撰寫 xml就可以做到單表的 CURD,很是方便,極大提供了開發的效率, 我們寫程式目的就是讓生活更加簡單,
什么是 mybatis-plus?
MyBatis-Plus(簡稱 MP)是一個 MyBatis 的增強工具,在 MyBatis 的基礎上只做增強不做改變,為簡化開發、提高效率而生,
MyBatis-Plus 在 MyBatis 之上套了一層外衣,單表 CURD 的操作幾乎都可以由 MyBatis-Plus 代替執行,而且提供了各種查詢方式,分頁行為,作為使用者無需撰寫 xml,直接呼叫 MyBatis-Plus 提供的 API 就可以了,
快速開始
幾分鐘就可以上手 MP,前提是需要熟悉 mybatis,spring 或 spring boot, maven,掌握 lambda 運算式更能提升效率,
準備環境:
- 擁有 Java 開發環境以及相應 IDE
- 熟悉 Spring Boot
- 熟悉 Maven
準備資料表

create database user;
use user;
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) DEFAULT NULL,
`email` varchar(80) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
insert into user values(null,'張三','666666@qq.com',18);
IDEA中配置 maven

創建 spring boot 應用
使用 Spring Initializr 快速初始化一個 Spring Boot 工程
idea 中 File – New Project 選擇 Spring Initializr 后填寫專案資訊,創建工程,

專案資訊

依賴選擇SQL中的MyBatis Framework

定義專案名稱和路徑

pom檔案添加mybatis-plus依賴
<!-- mybatis-plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
<!-- mysql驅動 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.25</version>
</dependency>
application.properties或application.yml 添加資料庫配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/user
spring.datasource.username=root
spring.datasource.password=root
或
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/user
username: root
password: root
創建物體類

@TableId 設定主鍵, IdType.AUTO 使用自動增長產生主鍵
創建mapper介面

繼承 MyBatis Plus 中的 BaseMapper , 在 UserMapper 中使用 MP 中的方法,實
現 CURD,
添加@MapperScan 掃描 Mapper 檔案夾

測驗

查看資料庫

配置 mybatis 日志
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

CRUD 基本用法
CRUD 的操作是來自 BaseMapper 中的方法,BaseMapper 中共有 17 個方法,CRUD 操作都有多個不同引數的方法,繼承 BaseMapper 可以其中的方法,
BaseMapper 方法串列:

insert 操作
注:insert()回傳值 int,資料插入成功的行數,成功的記錄數,getId()獲取主鍵值,成功影響行數后會自動將主鍵值賦值給物體類的主鍵id,
update 操作

更新之前的資料庫

更新后的資料庫

注意:null 的欄位不更新
沒有設定email的欄位,所以此時的email的欄位為null

SQL陳述句沒有設定email

資料庫

delete 操作
洗掉有多個方法
deleteById:按主鍵洗掉

根據 Map 中條件洗掉

注:洗掉條件封裝在 Map 中,key 是列名,value 是值,多個 key 之間 and 聯接,
日志:

批量洗掉
把要洗掉的 id 放入 List ,傳給 deleteBatchIds()

日志:

select 操作
注:沒有查詢結果,不會報錯,

日志

批量查詢記錄
注:根據 id 查詢記錄,把需要查詢的多個 id 存入到 List,呼叫 selectBatchIds(),

日志

使用 Map 的條件查詢
把要查詢的條件欄位 put 到 Map,key 是欄位,value 是條件值,多個條件是 and聯接,呼叫 selectByMap(),傳入 Map 作為引數,回傳值是 List 集合,

日志

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/301280.html
標籤:java
