服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Mybatis Plus 增删改查的实现(小白教程)

Mybatis Plus 增删改查的实现(小白教程)

2022-01-10 13:44花伤情犹在 Java教程

本文主要介绍了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

准备数据表

Mybatis Plus 增删改查的实现(小白教程)

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

Mybatis Plus 增删改查的实现(小白教程)

创建 spring boot 应用

使用 Spring Initializr 快速初始化一个 Spring Boot 工程
idea 中 File – New Project 选择 Spring Initializr 后填写项目信息,创建工程。

Mybatis Plus 增删改查的实现(小白教程)

项目信息

Mybatis Plus 增删改查的实现(小白教程)

依赖选择SQL中的MyBatis Framework

Mybatis Plus 增删改查的实现(小白教程)

定义项目名称和路径

Mybatis Plus 增删改查的实现(小白教程)

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

创建实体类

Mybatis Plus 增删改查的实现(小白教程)

@TableId 设置主键, IdType.AUTO 使用自动增长产生主键

创建mapper接口

Mybatis Plus 增删改查的实现(小白教程)

继承 MyBatis Plus 中的 BaseMapper , 在 UserMapper 中使用 MP 中的方法,实
现 CURD。

添加@MapperScan 扫描 Mapper 文件夹

Mybatis Plus 增删改查的实现(小白教程)

测试

Mybatis Plus 增删改查的实现(小白教程)

查看数据库

Mybatis Plus 增删改查的实现(小白教程)

配置 mybatis 日志

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

Mybatis Plus 增删改查的实现(小白教程)

CRUD 基本用法

CRUD 的操作是来自 BaseMapper 中的方法。BaseMapper 中共有 17 个方法,CRUD 操作都有多个不同参数的方法。继承 BaseMapper 可以其中的方法。

BaseMapper 方法列表:

Mybatis Plus 增删改查的实现(小白教程)

insert 操作

Mybatis Plus 增删改查的实现(小白教程)

注:insert()返回值 int,数据插入成功的行数,成功的记录数。getId()获取主键值,成功影响行数后会自动将主键值赋值给实体类的主键id。

update 操作

Mybatis Plus 增删改查的实现(小白教程)

更新之前的数据库

Mybatis Plus 增删改查的实现(小白教程)

更新后的数据库

Mybatis Plus 增删改查的实现(小白教程)

注意:null 的字段不更新

没有设置email的字段,所以此时的email的字段为null

Mybatis Plus 增删改查的实现(小白教程)

SQL语句没有设置email

Mybatis Plus 增删改查的实现(小白教程)

数据库

Mybatis Plus 增删改查的实现(小白教程)

delete 操作

删除有多个方法

Mybatis Plus 增删改查的实现(小白教程)

deleteById:按主键删除

Mybatis Plus 增删改查的实现(小白教程)

根据 Map 中条件删除

Mybatis Plus 增删改查的实现(小白教程)

注:删除条件封装在 Map 中,key 是列名,value 是值,多个 key 之间 and 联接。

日志:

Mybatis Plus 增删改查的实现(小白教程)

批量删除

把要删除的 id 放入 List ,传给 deleteBatchIds()

Mybatis Plus 增删改查的实现(小白教程)

日志

Mybatis Plus 增删改查的实现(小白教程)

select 操作

注:没有查询结果,不会报错。

Mybatis Plus 增删改查的实现(小白教程)

日志

Mybatis Plus 增删改查的实现(小白教程)

批量查询记录

注:根据 id 查询记录,把需要查询的多个 id 存入到 List,调用 selectBatchIds(),

Mybatis Plus 增删改查的实现(小白教程)

日志

Mybatis Plus 增删改查的实现(小白教程)

使用 Map 的条件查询
把要查询的条件字段 put 到 Map,key 是字段,value 是条件值。多个条件是 and联接。调用 selectByMap(),传入 Map 作为参数,返回值是 List 集合。

Mybatis Plus 增删改查的实现(小白教程)

日志

Mybatis Plus 增删改查的实现(小白教程)

到此这篇关于Mybatis Plus 增删改查的实现(小白教程)的文章就介绍到这了,更多相关Mybatis Plus增删改查 内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qq_31762741/article/details/120342983

延伸 · 阅读

精彩推荐
  • Java教程Java实现抢红包功能

    Java实现抢红包功能

    这篇文章主要为大家详细介绍了Java实现抢红包功能,采用多线程模拟多人同时抢红包,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙...

    littleschemer13532021-05-16
  • Java教程xml与Java对象的转换详解

    xml与Java对象的转换详解

    这篇文章主要介绍了xml与Java对象的转换详解的相关资料,需要的朋友可以参考下...

    Java教程网2942020-09-17
  • Java教程升级IDEA后Lombok不能使用的解决方法

    升级IDEA后Lombok不能使用的解决方法

    最近看到提示IDEA提示升级,寻思已经有好久没有升过级了。升级完毕重启之后,突然发现好多错误,本文就来介绍一下如何解决,感兴趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程小米推送Java代码

    小米推送Java代码

    今天小编就为大家分享一篇关于小米推送Java代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧...

    富贵稳中求8032021-07-12
  • Java教程Java BufferWriter写文件写不进去或缺失数据的解决

    Java BufferWriter写文件写不进去或缺失数据的解决

    这篇文章主要介绍了Java BufferWriter写文件写不进去或缺失数据的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    这篇文章主要介绍了Java使用SAX解析xml的示例,帮助大家更好的理解和学习使用Java,感兴趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程20个非常实用的Java程序代码片段

    20个非常实用的Java程序代码片段

    这篇文章主要为大家分享了20个非常实用的Java程序片段,对java开发项目有所帮助,感兴趣的小伙伴们可以参考一下 ...

    lijiao5352020-04-06
  • Java教程Java8中Stream使用的一个注意事项

    Java8中Stream使用的一个注意事项

    最近在工作中发现了对于集合操作转换的神器,java8新特性 stream,但在使用中遇到了一个非常重要的注意点,所以这篇文章主要给大家介绍了关于Java8中S...

    阿杜7482021-02-04