SpringBoot+Mybatis-Plus+PageHelper分页+多条件查询

简介: SpringBoot+Mybatis-Plus+PageHelper分页+多条件查询

引入PageHelper依赖

<dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.4.6</version>
            <!--使用spring boot2整合 pagehelper-spring-boot-starter必须排除一下依赖
                因为pagehelper-spring-boot-starter也已经在pom依赖了mybatis与mybatis-spring
                所以会与mybatis-plus-boot-starter中的mybatis与mybatis-spring发生冲突
            -->
            <exclusions>
                <exclusion>
                    <groupId>org.mybatis</groupId>
                    <artifactId>mybatis</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.mybatis</groupId>
                    <artifactId>mybatis-spring</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

MoveBookQueryDto

public class MoveBookQueryDto  {
    private String area;
    private String cartype;
    private Date startMoveDate;
    private Date endMoveDate;
    private String contact;
    private Integer status;
    private  int pageNum;
    private int pageSize;
}

MoveBookingService

PageInfo<MoveBooking> moveBookList(MoveBookQueryDto moveBookQueryDto);

MoveBookingServiceImpl

@Override
public PageInfo<MoveBooking> moveBookList(MoveBookQueryDto moveBookQueryDto) {
    PageHelper.startPage(moveBookQueryDto.getPageNum(),moveBookQueryDto.getPageSize());
    LambdaQueryWrapper<MoveBooking> moveBookingLambdaQueryWrapper = new LambdaQueryWrapper<>();
    moveBookingLambdaQueryWrapper.eq(moveBookQueryDto.getArea()!=null,MoveBooking::getArea,moveBookQueryDto.getArea())
            .eq(moveBookQueryDto.getCartype()!=null,MoveBooking::getCartype,moveBookQueryDto.getCartype())
            .ge(moveBookQueryDto.getStartMoveDate()!=null,MoveBooking::getMovedate,moveBookQueryDto.getStartMoveDate())
            .le(moveBookQueryDto.getEndMoveDate()!=null,MoveBooking::getMovedate,moveBookQueryDto.getEndMoveDate())
            .eq(moveBookQueryDto.getContact()!=null,MoveBooking::getContact,moveBookQueryDto.getContact())
            .eq(moveBookQueryDto.getStatus()!=null,MoveBooking::getStatus,moveBookQueryDto.getStatus());
    List<MoveBooking> list = this.list(moveBookingLambdaQueryWrapper);
    if (CollectionUtils.isEmpty(list))return PageInfo.of(new ArrayList<>());
    return PageInfo.of(list);
}

MoveBookingController

@GetMapping("/list")
    public R<PageInfo<MoveBooking>> list(MoveBookQueryDto moveBookQueryDto){
        PageInfo<MoveBooking> pageInfo = moveBookingService.moveBookList(moveBookQueryDto);
        return R.success(pageInfo);
    }

测试

相关文章
|
28天前
|
算法 Java 数据库连接
Spring+MySQL+数据结构+集合,Alibaba珍藏版mybatis手写文档
Spring+MySQL+数据结构+集合,Alibaba珍藏版mybatis手写文档
|
1天前
|
安全 Java 数据库连接
Spring Boot + Security + MyBatis + Thymeleaf + Activiti 快速开发平台项目
Spring Boot + Security + MyBatis + Thymeleaf + Activiti 快速开发平台项目
12 0
|
9天前
|
Java 数据库连接 数据库
Spring日志完结篇,MyBatis操作数据库(入门)
Spring日志完结篇,MyBatis操作数据库(入门)
|
21天前
|
Java 关系型数据库 数据库连接
MyBatis-Plus介绍及Spring Boot 3集成指南
MyBatis-Plus是一个MyBatis扩展工具,旨在简化Java开发中的CRUD操作。它具有无侵入性、低损耗、强大的CRUD功能、Lambda表达式支持、主键自动生成、ActiveRecord模式、全局操作和内置代码生成器等特点。在Spring Boot 3中集成MyBatis-Plus,需在pom.xml添加依赖,排除特定版本的mybatis-spring,并用@MapperScan注解指定Mapper接口路径。此外,还介绍了如何使用MyBatis-Plus代码生成器自动生成Mapper、Model、Service和Controller层代码,以加速开发。
64 2
MyBatis-Plus介绍及Spring Boot 3集成指南
|
21天前
|
SQL Java 关系型数据库
基于SpringBoot使用MyBatisPlus,MyBatisPlus标准数据层开发(CRUD)、MyBatisPlus分页功能的使用
基于SpringBoot使用MyBatisPlus,MyBatisPlus标准数据层开发(CRUD)、MyBatisPlus分页功能的使用
30 2
|
21天前
|
Java 关系型数据库 MySQL
SpringBoot整合JUnit、MyBatis、SSM
SpringBoot整合JUnit、MyBatis、SSM
28 4
|
21天前
|
Java 数据库连接 数据库
Spring整合Mybatis、Spring整合JUnit
Spring整合Mybatis、Spring整合JUnit
25 1
Spring整合Mybatis、Spring整合JUnit
|
21天前
|
SQL Java 数据库连接
1天搞定SpringBoot+Vue全栈开发 (3)MybatisPlus(数据库操作)
1天搞定SpringBoot+Vue全栈开发 (3)MybatisPlus(数据库操作)
|
22天前
|
Java 数据库连接 数据库
小唐开始学 Spring Boot——(3)利用mybatis访问数据表
小唐开始学 Spring Boot——(3)利用mybatis访问数据表
|
29天前
|
SQL 存储 算法
Mybatis-Plus- CRUD接口-主键策略-自动填充和乐观锁-分页-逻辑删除-条件构造器和常用接口
Mybatis-Plus- CRUD接口-主键策略-自动填充和乐观锁-分页-逻辑删除-条件构造器和常用接口