springboot整合分页插件

简介: springboot整合分页插件

springboot整合分页插件

1.增加分页配置

importcom.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;

importlombok.extern.slf4j.Slf4j;

importorg.springframework.context.annotation.Bean;

importorg.springframework.context.annotation.Configuration;

/**

* @Description: 分页配置

* @author woniu

* @date 2023-09-18 14:53

**/

@Configuration

@Slf4j

publicclassMybatisPlusConfig {

   /**

    * 分页插件

    */

   @Bean

   publicPaginationInterceptorpaginationInterceptor() {

       finallonglimit  =500L;

       PaginationInterceptorpaginationInterceptor=newPaginationInterceptor();

       //你的最大单页限制数量,默认 500 条,小于 0 如 -1 不受限制)

       paginationInterceptor.setLimit(limit);

       log.info("注册分页插件,你的最大单页限制数量:"+limit);

       returnpaginationInterceptor;

   }

}

2.pom配置

<!--mybatis-plus 持久层-->

<dependency>

   <groupId>com.baomidou</groupId>

   <artifactId>mybatis-plus-boot-starter</artifactId>

   <version>3.3.2</version>

</dependency>

3.分页工具类

importcom.baomidou.mybatisplus.extension.plugins.pagination.Page;

/**

* @author woniu

* @date 2023-09-18

*/

publicclassPageUtil {

   /**

    * 构建page 由于表单分页是从0开始的,所有这里统一都从0开始

    * @param pageNum

    * @param pageSize

    * @return

    */

   publicstatic<T>Page<T>buildPage(IntegerpageNum,IntegerpageSize){

       pageNum=pageNum==null?0:pageNum;

       pageSize=pageSize==null?25:pageSize;

       returnnewPage<>(pageNum,pageSize);

   }

}

importlombok.AllArgsConstructor;

importlombok.Builder;

importlombok.Data;

importlombok.NoArgsConstructor;

importjava.io.Serializable;

importjava.util.ArrayList;

importjava.util.List;

/**

* 分页实体类

*

* @author woniu

*/

@Data

@Builder

@NoArgsConstructor

@AllArgsConstructor

publicclassPageResult<T>implementsSerializable {

   privatestaticfinallongserialVersionUID=-275582248840137389L;

   /**

    * 总数

    */

   privateLongcount;

   /**

    * 当前页结果集

    */

   privateList<T>data;

   publicstatic<T>PageResult<T>empty() {

       returnnewPageResult<>(0L, newArrayList<>());

   }

}

4.分页代码

@Service

publicclassUserServiceImplextendsServiceImpl<UserMapper, UserEntity>implementsUserService {

   @Override

   publicPageResult<UserRespVo>findList(UserReqVoreqVo) {

       Page<UserRespVo>page=PageUtil.buildPage(reqVo.getPageNum(), reqVo.getPageSize());

       List<UserRespVo>list=this.baseMapper.findList(page, reqVo);

       returnPageResult.<UserRespVo>builder()

               .data(list)

               .count(page.getTotal())

               .build();

   }

publicinterfaceUserMapperextendsBaseMapper<UserEntity> {

   /**

    * 列表

    *

    * @param page

    * @param reqVo

    * @return

    */

   List<UserRespVo>findList(Page<UserRespVo>page, @Param("vo") UserReqVoreqVo);

}

5.xml

<?xmlversion="1.0"encoding="UTF-8"?>

<!DOCTYPEmapperPUBLIC"-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mappernamespace="com.woniu.woniuuser.mapper.UserMapper">

   <resultMapid="userRespVo"type="com.woniu.crm.user.resp.UserRespVo"></resultMap>

   <selectid="findList"resultMap="userRespVo">

       select*fromuser

       <where>

           anddel_flag='009'

           <iftest="vo.userName != null and vo.userName != ''">

               <bindname="likeUserName"value="'%' + vo.userName + '%'"/>

               anduser_namelike#{likeUserName}

           </if>

       </where>

   </select>

</mapper>

目录
相关文章
|
6月前
|
SQL Java 数据库连接
【mybatis】第一篇,Springboot中使用插件PageHelper不生效解决方案
【mybatis】第一篇,Springboot中使用插件PageHelper不生效解决方案
|
1月前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
52 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
6月前
|
Java Maven
SpringBoot项目的用maven插件打包报Test错误
SpringBoot项目的用maven插件打包报Test错误
120 1
|
2月前
|
SQL XML Java
springboot整合mybatis-plus及mybatis-plus分页插件的使用
这篇文章介绍了如何在Spring Boot项目中整合MyBatis-Plus及其分页插件,包括依赖引入、配置文件编写、SQL表创建、Mapper层、Service层、Controller层的创建,以及分页插件的使用和数据展示HTML页面的编写。
springboot整合mybatis-plus及mybatis-plus分页插件的使用
|
1月前
|
监控 Java Maven
springboot学习二:springboot 初创建 web 项目、修改banner、热部署插件、切换运行环境、springboot参数配置,打包项目并测试成功
这篇文章介绍了如何快速创建Spring Boot项目,包括项目的初始化、结构、打包部署、修改启动Banner、热部署、环境切换和参数配置等基础操作。
120 0
|
3月前
|
JavaScript 前端开发 Java
SpringBoot 引入 smart-doc 接口文档管理插件,以及统一接口返回,最后推送到 Torna,进行统一管理
本文介绍了如何在SpringBoot项目中整合smart-doc接口文档管理插件,实现接口文档的生成和统一管理,并展示了如何将文档推送到Torna接口文档管理系统进行进一步的集中管理。
230 0
SpringBoot 引入 smart-doc 接口文档管理插件,以及统一接口返回,最后推送到 Torna,进行统一管理
|
4月前
|
Java 测试技术 开发工具
Spring Boot中的开发工具与插件推荐
Spring Boot中的开发工具与插件推荐
|
4月前
|
Java Spring 开发框架
Spring Boot中的分页与排序实现
Spring Boot中的分页与排序实现
|
5月前
|
Java 测试技术 开发工具
Spring Boot中的开发工具与插件推荐
Spring Boot中的开发工具与插件推荐
|
5月前
springboot2.4.5使用pagehelper分页插件
springboot2.4.5使用pagehelper分页插件
149 0