【MybatisPlus快速入门】(3)SpringBoot整合MybatisPlus 之 Lombok插件安装及MybatisPlus分页代码示例

目录

  • 1.Lombok
    • [1.1 步骤1:添加lombok依赖](#1.1 步骤1:添加lombok依赖)
  • [2.2 步骤2:安装Lombok的插件](#2.2 步骤2:安装Lombok的插件)
  • [1.3 步骤3:模型类上添加注解](#1.3 步骤3:模型类上添加注解)
  • [2 分页功能](#2 分页功能)
    • [2.1 步骤1:调用方法传入参数获取返回值](#2.1 步骤1:调用方法传入参数获取返回值)
    • 2.2步骤2:设置分页拦截器
    • [2.3 步骤3:运行测试程序](#2.3 步骤3:运行测试程序)

之前我们已学习MyBatisPlus在代码示例与MyBatisPlus的简介,在这一节中我们重点学习的是数据层标准的CRUD(增删改查)的实现与分页功能。代码比较多,我们一个个来学习,本教程所有示例均基于Maven实现,如果您对Maven还很陌生,请移步本人的博文《如何在windows11下安装Maven并配置以及 IDEA配置Maven环境

1.Lombok

上一节我们学习了MybatisPlus的CRUD功能,代码写到这,我们会发现DAO接口类的编写现在变成最简单的了,里面什么都不用写。反过来看看模型类的编写都需要哪些内容:

  • 私有属性
  • setter...getter...方法
  • toString方法
  • 构造函数

虽然这些内容不难,同时也都是通过IDEA工具生成的,但是过程还是必须得走一遍,那么对于模型类

的编写有没有什么优化方法?就是我们接下来要学习的Lombok。

概念

  • Lombok,一个Java类库,提供了一组注解,简化POJO实体类开发。

使用步骤

1.1 步骤1:添加lombok依赖

xml 复制代码
<dependency>
	<groupId>org.projectlombok</groupId>
	<artifactId>lombok</artifactId>
	<!--<version>1.18.12</version>-->
</dependency>

**注意:**版本可以不用写,因为SpringBoot中已经管理了lombok的版本。

2.2 步骤2:安装Lombok的插件

新版本IDEA已经内置了该插件,如果删除setter和getter方法程序有报红,则需要安装插件

如果在IDEA中找不到lombok插件,可以访问如下网站

https://plugins.jetbrains.com/plugin/6317-lombok/versions

根据自己IDEA的版本下载对应的lombok插件,下载成功后,在IDEA中采用离线安装的方式进行安装。

1.3 步骤3:模型类上添加注解

Lombok常见的注解有:

  • @Setter:为模型类的属性提供setter方法
  • @Getter:为模型类的属性提供getter方法
  • @ToString:为模型类的属性提供toString方法
  • @EqualsAndHashCode:为模型类的属性提供equals和hashcode方法
  • @Data:是个组合注解,包含上面的注解的功能
  • @NoArgsConstructor:提供一个无参构造函数
  • @AllArgsConstructor:提供一个包含所有参数的构造函数

Lombok的注解还有很多,上面标红的三个是比较常用的,其他的大家后期用到了,再去补充学习。

java 复制代码
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
	private Long id;
	private String name;
	private String password;
	private Integer age;
	private String tel;
}

说明:

Lombok只是简化模型类的编写,我们之前的方法也能用,比如有人会问:我如果只想要有name和password的构造函数,该如何编写?

java 复制代码
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
	private Long id;
	private String name;
	private String password;
	private Integer age;
	private String tel;
	public User(String name, String password) {
		this.name = name;
		this.password = password;
	}
}

这种方式是被允许的。

2 分页功能

基础的增删改查就已经学习完了,刚才我们在分析基础开发的时候,有一个分页功能还没有实现,在MP中如何实现分页功能,就是咱们接下来要学习的内容。

分页查询使用的方法是

java 复制代码
 IPage<T> selectPage(IPage<T> page, Wrapper<T> queryWrapper)
  • IPage:用来构建分页查询条件
  • Wrapper:用来构建条件查询的条件,目前我们没有可直接传为Null
  • IPage:返回值,你会发现构建分页条件和方法的返回值都是IPage

IPage是一个接口,我们需要找到它的实现类来构建它,具体的实现类,可以进入到IPage类中按

ctrl+h,会找到其有一个实现类为Page。

2.1 步骤1:调用方法传入参数获取返回值

java 复制代码
@SpringBootTest
class Mybatisplus01QuickstartApplicationTests {
	@Autowired
	private UserDao userDao;
	//分页查询
	@Test
	void testSelectPage(){
		//1 创建IPage分页对象,设置分页参数,1为当前页码,3为每页显示的记录数
		IPage<User> page=new Page<>(1,3);
		//2 执行分页查询
		userDao.selectPage(page,null);
		//3 获取分页结果
		System.out.println("当前页码值:"+page.getCurrent());
		System.out.println("每页显示数:"+page.getSize());
		System.out.println("一共多少页:"+page.getPages());
		System.out.println("一共多少条数据:"+page.getTotal());
		System.out.println("数据:"+page.getRecords());
	}
}

2.2步骤2:设置分页拦截器

这个拦截器MP已经为我们提供好了,我们只需要将其配置成Spring管理的bean对象即可。

java 复制代码
@Configuration
public class MybatisPlusConfig {
	@Bean
	public MybatisPlusInterceptor mybatisPlusInterceptor(){
		//1 创建MybatisPlusInterceptor拦截器对象
		MybatisPlusInterceptor mpInterceptor=new MybatisPlusInterceptor();
		//2 添加分页拦截器
		mpInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
		return mpInterceptor;
	}
}

说明:上面的代码记不住咋办呢?

这些内容在MP的官方文档中有详细的说明,我们可以查看官方文档类配置

2.3 步骤3:运行测试程序

如果想查看MP执行的SQL语句,可以修改application.yml配置文件,

yaml 复制代码
mybatis-plus:
	configuration:
		log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印SQL日志到控制台

打开日志后,就可以在控制台打印出对应的SQL语句,开启日志功能性能就会受到影响,调试完后记得

关闭。

相关推荐
考虑考虑1 天前
Jpa使用union all
java·spring boot·后端
用户3721574261351 天前
Java 实现 Excel 与 TXT 文本高效互转
java
浮游本尊1 天前
Java学习第22天 - 云原生与容器化
java
渣哥1 天前
原来 Java 里线程安全集合有这么多种
java
间彧1 天前
Spring Boot集成Spring Security完整指南
java
间彧1 天前
Spring Secutiy基本原理及工作流程
java
Java水解1 天前
JAVA经典面试题附答案(持续更新版)
java·后端·面试
洛小豆1 天前
在Java中,Integer.parseInt和Integer.valueOf有什么区别
java·后端·面试
前端小张同学1 天前
服务器上如何搭建jenkins 服务CI/CD😎😎
java·后端
ytadpole1 天前
Spring Cloud Gateway:一次不规范 URL 引发的路由转发404问题排查
java·后端