欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-25 15:02:19
目录idea中配置 maven添加@mapperscan 扫描 mapper 文件夹crud 基本用法前言在持久层框架中 mybatis 应用比较多,而且比重在逐渐的上升。通常项目的组合是 ssm。m...

前言

在持久层框架中 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 增删改查的实现(小白教程)

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

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增删改查 内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!