写点什么

springboot 整合分页插件

作者:javaNice
  • 2023-11-28
    四川
  • 本文字数:1859 字

    阅读完需:约 6 分钟

springboot 整合分页插件


1.增加分页配置


import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;import lombok.extern.slf4j.Slf4j;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;
/** * @Description: 分页配置 * @author woniu * @date 2023-09-18 14:53 **/@Configuration@Slf4jpublic class MybatisPlusConfig {

/** * 分页插件 */ @Bean public PaginationInterceptor paginationInterceptor() { final long limit = 500L; PaginationInterceptor paginationInterceptor = new PaginationInterceptor(); //你的最大单页限制数量,默认 500 条,小于 0 如 -1 不受限制) paginationInterceptor.setLimit(limit); log.info("注册分页插件,你的最大单页限制数量:"+limit); return paginationInterceptor; }}
复制代码


2.pom 配置


<!--mybatis-plus 持久层--><dependency>    <groupId>com.baomidou</groupId>    <artifactId>mybatis-plus-boot-starter</artifactId>    <version>3.3.2</version></dependency>
复制代码


3.分页工具类


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
/** * @author woniu * @date 2023-09-18 */public class PageUtil { /** * 构建page 由于表单分页是从0开始的,所有这里统一都从0开始 * @param pageNum * @param pageSize * @return */ public static <T> Page<T> buildPage(Integer pageNum,Integer pageSize){ pageNum = pageNum==null?0:pageNum; pageSize = pageSize==null?25:pageSize; return new Page<>(pageNum,pageSize); }}
复制代码


import lombok.AllArgsConstructor;import lombok.Builder;import lombok.Data;import lombok.NoArgsConstructor;
import java.io.Serializable;import java.util.ArrayList;import java.util.List;
/** * 分页实体类 * * @author woniu */@Data@Builder@NoArgsConstructor@AllArgsConstructorpublic class PageResult<T> implements Serializable { private static final long serialVersionUID = -275582248840137389L; /** * 总数 */ private Long count;
/** * 当前页结果集 */ private List<T> data;

public static <T> PageResult<T> empty() { return new PageResult<>(0L, new ArrayList<>()); }
}
复制代码


4.分页代码


@Servicepublic class UserServiceImpl extends ServiceImpl<UserMapper, UserEntity> implements UserService {

@Override public PageResult<UserRespVo> findList(UserReqVo reqVo) { Page<UserRespVo> page = PageUtil.buildPage(reqVo.getPageNum(), reqVo.getPageSize()); List<UserRespVo> list = this.baseMapper.findList(page, reqVo); return PageResult.<UserRespVo>builder() .data(list) .count(page.getTotal()) .build(); }
复制代码


public interface UserMapper extends BaseMapper<UserEntity> {
/** * 列表 * * @param page * @param reqVo * @return */ List<UserRespVo> findList(Page<UserRespVo> page, @Param("vo") UserReqVo reqVo);
}
复制代码


5.xml


<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.woniu.woniuuser.mapper.UserMapper"> <resultMap id="userRespVo" type="com.woniu.crm.user.resp.UserRespVo"></resultMap>

<select id="findList" resultMap="userRespVo"> select * from user <where> and del_flag = '009' <if test="vo.userName != null and vo.userName != ''"> <bind name="likeUserName" value="'%' + vo.userName + '%'"/> and user_name like #{likeUserName} </if> </where> </select>
</mapper>
复制代码

springboot 整合分页插件 springboot 整合分页插件 springboot 整合分页插件 springboot 整合分页插件 springboot 整合分页插件 springboot 整合分页插件

发布于: 刚刚阅读数: 4
用户头像

javaNice

关注

还未添加个人签名 2023-11-02 加入

还未添加个人简介

评论

发布
暂无评论
springboot整合分页插件_Java_javaNice_InfoQ写作社区