MyBatisPlus+Lombok实现分页功能的方法详解

作者:夏志121 时间:2021-07-04 06:34:57 

一、Lombok

从上一篇博客可看出,DAO接口类的编写变得简单,反过来看模型,编写还需要(私有属性、setter...getter...方法、toString方法、构造函数等内容),对于模型类有什么优化方法,可以用Lombok。

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

使用步骤

1、添加Lombok依赖

<dependency>
   <groupId>org.projectlombok</groupId>
   <artifactId>lombok</artifactId>
   <!--<version>1.18.12</version>-->
</dependency>

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

2、安装Lombok插件

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

MyBatisPlus+Lombok实现分页功能的方法详解

 如果找不到Lombok插件,可以访问如下网站

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

根据字节IDEA的版本下载对应的Lombok版本,下载成功后,在IDEA中采用离线安装的方式进行安装

MyBatisPlus+Lombok实现分页功能的方法详解

选择这个位置的选择进行离线安装,进入后选择自己下载的插件包,点击OK即可进行离线安装。

3、模型类上添加注解

Lombok常见的注解有:

● @Setter:为模型类的属性提供setter方法

● @Getter:为模型类的属性提供getter方法

● @ToString:为模型类的属性提供toString方法

● @EqualsAndHashCode:为模型类的属性提供equals和hashcode方法

● @Data:是一个组合注解,包含上面的注解的功能

● @NoArgsConstructor:提供一个无参构造函数

● @AllArgsConstruotor:提供一个包含所有参数的构造函数

Lombok的注解还有很多,上面标红的三个比较常用。

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {

private Long id;
   private String name;
   private String password;
   private Integer age;
   private String tel;

}

说明:Lombok只是简化模型的编写,之前的方法也能用,比如,只有name和password的构造方法,在里面添加即可。

二、分页功能

分页查询使用的方法:

IPage<T> selectPage (IPage<T> page, wrapper<T> querywrapper);

IPage:用来构建分页查询的条件

Wrapper:用来构建添加查询的条件,目前我们没有可直接传为Null

IPage:返回值,构建分页条件和方法的返回值都是IPage

IPage是一个接口,我们要实现类来构建,具体实现类,可进入到IPage类中按ctrl+h,会找到一个实现类为Page。

1、调用方法传入参数获取返回值

@SpringBootTest
class Mybatisplus01QuickstartApplicationTests {

@Autowired
   private UserDao userDao;

//分页查询
   @Test
   void testSelectPage(){
       //1 创建IPage分页对象,设置分页参数,1为当前页码,3为每页显示的记录数
       IPage<User> page=new Page<>(2,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、设置分页 *

@Configuration
public class MybatisPlusConfig {

@Bean
   public MybatisPlusInterceptor mybatisPlusInterceptor(){
       //1 创建MybatisPlusInterceptor * 对象
       MybatisPlusInterceptor mpInterceptor=new MybatisPlusInterceptor();
       //2 添加分页 *
       mpInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
       return mpInterceptor;
   }
}

说明:上面的内容在MP的官方文档中都有。

MyBatisPlus+Lombok实现分页功能的方法详解

3、运行测试程序

MyBatisPlus+Lombok实现分页功能的方法详解

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

# 开启mp的日志(输出到控制台)
mybatis-plus:
 configuration:
   log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

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

MyBatisPlus+Lombok实现分页功能的方法详解

来源:https://blog.csdn.net/m0_61961937/article/details/125904275

标签:MyBatisPlus,Lombok,分页
0
投稿

猜你喜欢

  • 详解java.lang.reflect.Modifier.isInterface()方法

    2023-07-27 18:25:25
  • Java异常的处理机制

    2023-12-03 15:33:19
  • Java事件机制要素及实例详解

    2022-11-27 07:10:53
  • 如何使用JJWT及JWT讲解和工具类

    2023-10-28 04:21:35
  • Java探索之Feign入门使用详解

    2023-08-18 03:38:06
  • Spring实现默认标签解析流程

    2021-07-29 10:07:55
  • Spring Data Jpa的四种查询方式详解

    2021-10-10 10:35:26
  • Java多种经典排序算法(含动态图)

    2023-09-24 00:45:02
  • 详解Java并发包中线程池ThreadPoolExecutor

    2022-03-23 19:57:20
  • Java 超详细讲解类的定义方式和对象的实例化

    2021-09-11 17:38:29
  • Java中两种基本的输入方式小结

    2023-02-06 18:37:24
  • Java实现List集合转树形结构的示例详解

    2021-11-11 10:48:33
  • Java读取properties文件之中文乱码问题及解决

    2021-07-19 06:43:06
  • 解析在C#中接口和类的异同

    2022-04-10 13:02:07
  • java synchronized 锁机制原理详解

    2021-10-15 05:29:47
  • mybatis-plus update更新操作的三种方式(小结)

    2023-10-08 14:05:08
  • MyBatis Log 插件无法显示SQL语句的原因解析

    2023-11-24 23:42:55
  • 详解spring boot引入外部jar包的坑

    2021-07-29 10:49:49
  • 详解Java中的封装、继承、多态

    2022-09-24 06:26:23
  • WPF使用DrawingContext实现二维绘图

    2021-06-08 15:04:27
  • asp之家 软件编程 m.aspxhome.com