溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何實(shí)現(xiàn)MybatisPlus的增刪改查

發(fā)布時(shí)間:2021-09-24 15:41:15 來(lái)源:億速云 閱讀:294 作者:柒染 欄目:開(kāi)發(fā)技術(shù)

如何實(shí)現(xiàn)MybatisPlus的增刪改查,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

前言

在持久層框架中 mybatis 應(yīng)用比較多,而且比重在逐漸的上升。通常項(xiàng)目的組合是 SSM。mybatis 之所以火,是因?yàn)樗撵`活,使用方便,優(yōu)化比較容易。

mybatis 的直接執(zhí)行 sql 語(yǔ)句, sql 語(yǔ)句是寫(xiě)在 xml 文件中,使用 mybatis 需要多個(gè) xml 配置文件,在一定程度上比較繁瑣。一般數(shù)據(jù)庫(kù)的操作都要涉及到CURD。

mybatis-plus 是在 mybatis 上的增強(qiáng),減少了 xml 的配置,幾乎不用編寫(xiě) xml就可以做到單表的 CURD,很是方便,極大提供了開(kāi)發(fā)的效率。 我們寫(xiě)程序目的就是讓生活更加簡(jiǎn)單。

什么是 mybatis-plus?

MyBatis-Plus(簡(jiǎn)稱 MP)是一個(gè) MyBatis 的增強(qiáng)工具,在 MyBatis 的基礎(chǔ)上只做增強(qiáng)不做改變,為簡(jiǎn)化開(kāi)發(fā)、提高效率而生。

MyBatis-Plus 在 MyBatis 之上套了一層外衣,單表 CURD 的操作幾乎都可以由 MyBatis-Plus 代替執(zhí)行。而且提供了各種查詢方式,分頁(yè)行為。作為使用者無(wú)需編寫(xiě) xml,直接調(diào)用 MyBatis-Plus 提供的 API 就可以了。

快速開(kāi)始

幾分鐘就可以上手 MP,前提是需要熟悉 mybatis,spring 或 spring boot, maven,掌握 lambda 表達(dá)式更能提升效率。

準(zhǔn)備環(huán)境:

  • 擁有 Java 開(kāi)發(fā)環(huán)境以及相應(yīng) IDE

  • 熟悉 Spring Boot

  • 熟悉 Maven

準(zhǔn)備數(shù)據(jù)表

如何實(shí)現(xiàn)MybatisPlus的增刪改查

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

如何實(shí)現(xiàn)MybatisPlus的增刪改查

創(chuàng)建 spring boot 應(yīng)用

使用 Spring Initializr 快速初始化一個(gè) Spring Boot 工程
idea 中 File – New Project 選擇 Spring Initializr 后填寫(xiě)項(xiàng)目信息,創(chuàng)建工程。

如何實(shí)現(xiàn)MybatisPlus的增刪改查

項(xiàng)目信息

如何實(shí)現(xiàn)MybatisPlus的增刪改查

依賴選擇SQL中的MyBatis Framework

如何實(shí)現(xiàn)MybatisPlus的增刪改查

定義項(xiàng)目名稱和路徑

如何實(shí)現(xiàn)MybatisPlus的增刪改查

pom文件添加mybatis-plus依賴

<!-- mybatis-plus -->
<dependency>
	<groupId>com.baomidou</groupId>
	<artifactId>mybatis-plus-boot-starter</artifactId>
	<version>3.0.5</version>
</dependency>
<!-- mysql驅(qū)動(dòng) -->
<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
	<version>8.0.25</version>
</dependency>

application.properties或application.yml 添加數(shù)據(jù)庫(kù)配置

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

創(chuàng)建實(shí)體類

如何實(shí)現(xiàn)MybatisPlus的增刪改查

@TableId 設(shè)置主鍵, IdType.AUTO 使用自動(dòng)增長(zhǎng)產(chǎn)生主鍵

創(chuàng)建mapper接口

如何實(shí)現(xiàn)MybatisPlus的增刪改查

繼承 MyBatis Plus 中的 BaseMapper , 在 UserMapper 中使用 MP 中的方法,實(shí)
現(xiàn) CURD。

添加@MapperScan 掃描 Mapper 文件夾

如何實(shí)現(xiàn)MybatisPlus的增刪改查

測(cè)試

如何實(shí)現(xiàn)MybatisPlus的增刪改查

查看數(shù)據(jù)庫(kù)

如何實(shí)現(xiàn)MybatisPlus的增刪改查

配置 mybatis 日志

mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

如何實(shí)現(xiàn)MybatisPlus的增刪改查

CRUD 基本用法

CRUD 的操作是來(lái)自 BaseMapper 中的方法。BaseMapper 中共有 17 個(gè)方法,CRUD 操作都有多個(gè)不同參數(shù)的方法。繼承 BaseMapper 可以其中的方法。

BaseMapper 方法列表:

如何實(shí)現(xiàn)MybatisPlus的增刪改查

insert 操作

如何實(shí)現(xiàn)MybatisPlus的增刪改查

注:insert()返回值 int,數(shù)據(jù)插入成功的行數(shù),成功的記錄數(shù)。getId()獲取主鍵值,成功影響行數(shù)后會(huì)自動(dòng)將主鍵值賦值給實(shí)體類的主鍵id。

update 操作

如何實(shí)現(xiàn)MybatisPlus的增刪改查

更新之前的數(shù)據(jù)庫(kù)

如何實(shí)現(xiàn)MybatisPlus的增刪改查

更新后的數(shù)據(jù)庫(kù)

如何實(shí)現(xiàn)MybatisPlus的增刪改查

注意:null 的字段不更新

沒(méi)有設(shè)置email的字段,所以此時(shí)的email的字段為null

如何實(shí)現(xiàn)MybatisPlus的增刪改查

SQL語(yǔ)句沒(méi)有設(shè)置email

如何實(shí)現(xiàn)MybatisPlus的增刪改查

數(shù)據(jù)庫(kù)

如何實(shí)現(xiàn)MybatisPlus的增刪改查

delete 操作

刪除有多個(gè)方法

如何實(shí)現(xiàn)MybatisPlus的增刪改查

deleteById:按主鍵刪除

如何實(shí)現(xiàn)MybatisPlus的增刪改查

根據(jù) Map 中條件刪除

如何實(shí)現(xiàn)MybatisPlus的增刪改查

注:刪除條件封裝在 Map 中,key 是列名,value 是值,多個(gè) key 之間 and 聯(lián)接。

日志:

如何實(shí)現(xiàn)MybatisPlus的增刪改查

批量刪除

把要?jiǎng)h除的 id 放入 List ,傳給 deleteBatchIds()

如何實(shí)現(xiàn)MybatisPlus的增刪改查

日志

如何實(shí)現(xiàn)MybatisPlus的增刪改查

select 操作

注:沒(méi)有查詢結(jié)果,不會(huì)報(bào)錯(cuò)。

如何實(shí)現(xiàn)MybatisPlus的增刪改查

日志

如何實(shí)現(xiàn)MybatisPlus的增刪改查

批量查詢記錄

注:根據(jù) id 查詢記錄,把需要查詢的多個(gè) id 存入到 List,調(diào)用 selectBatchIds(),

如何實(shí)現(xiàn)MybatisPlus的增刪改查

日志

如何實(shí)現(xiàn)MybatisPlus的增刪改查

使用 Map 的條件查詢
把要查詢的條件字段 put 到 Map,key 是字段,value 是條件值。多個(gè)條件是 and聯(lián)接。調(diào)用 selectByMap(),傳入 Map 作為參數(shù),返回值是 List 集合。

如何實(shí)現(xiàn)MybatisPlus的增刪改查

日志

如何實(shí)現(xiàn)MybatisPlus的增刪改查

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI