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
版权声明: 本文为 InfoQ 作者【javaNice】的原创文章。
原文链接:【http://xie.infoq.cn/article/77b392da913d62dfcf90ed6cc】。文章转载请联系作者。
javaNice
关注
还未添加个人签名 2023-11-02 加入
还未添加个人简介










评论