Mybatis Plus 增刪改查的實現(小白教程)

前言

在持久層框架中 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,'張三','[email protected]',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 集合。

在這裡插入圖片描述

日志

在這裡插入圖片描述

到此這篇關於Mybatis Plus 增刪改查的實現(小白教程)的文章就介紹到這瞭,更多相關Mybatis Plus增刪改查 內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: