Mybatis Plus 增删改查的实现(小白教程)
本文主要介绍了Mybatis Plus 增删改查,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
目录
前言
什么是 mybatis-plus?
快速开始
准备环境:
准备数据表
IDEA中配置 maven
创建 spring boot 应用
创建mapper接口
添加@MapperScan 扫描 Mapper 文件夹
配置 mybatis 日志
CRUD 基本用法
insert 操作
update 操作
delete 操作
select 操作
前言
在持久层框架中 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
准备数据表
1 2 3 4 5 6 7 8 9 10 | 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依赖
1 2 3 4 5 6 7 8 9 10 11 12 | <!-- 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 添加数据库配置
1 2 3 4 | 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 |
或
1 2 3 4 5 6 | 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 日志
1 2 3 | 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 增删改查的实现(小白教程)的文章就介绍到这了
原文链接:https://blog.csdn.net/qq_31762741/article/details/120342983