找回密码
 立即注册
查看: 3|回复: 0

34,文章列表(条件分页)pagehelper

[复制链接]

231

主题

6

精华

235

金币

技术维护QQ:515138

积分
500
发表于 昨天 20:44 | 显示全部楼层 |阅读模式
1,添加依赖:

  1. <!-- pageHelper依赖 -->
  2.         <dependency>
  3.             <groupId>com.github.pagehelper</groupId>
  4.             <artifactId>pagehelper-spring-boot-starter</artifactId>
  5.             <version>2.1.1</version>
  6.         </dependency>
复制代码
2,C层:
  1. /**
  2.      * 查询文章列表
  3.      * @param pageNum
  4.      * @param pageSize
  5.      * @param categoryId
  6.      * @param state
  7.      * @return
  8.      */
  9.     @GetMapping
  10.     public Result<PageBean<Article>> list(
  11.             Integer pageNum,
  12.             Integer pageSize,
  13.             // 不是必须参数
  14.             @RequestParam(required = false) Integer categoryId,
  15.             @RequestParam(required = false) String state
  16.     ) {
  17.         PageBean<Article> pb =  articleService.list(pageNum,pageSize,categoryId,state);
  18.         return Result.success(pb);
  19.     }
复制代码
3,实现层:
  1. /**
  2.      * 查询文章列表
  3.      *
  4.      * @param pageNum
  5.      * @param pageSize
  6.      * @param categoryId
  7.      * @param state
  8.      * @return
  9.      */
  10.     @Override
  11.     public PageBean<Article> list(Integer pageNum, Integer pageSize, Integer categoryId, String state) {
  12.         //1.创建PageBean对象
  13.         PageBean<Article> pb = new PageBean<>();
  14.         //2.开启分页查询 PageHelper
  15.         PageHelper.startPage(pageNum,pageSize);
  16.         //3.调用mapper
  17.         Map<String,Object> map = ThreadLocalUtil.get();
  18.         Integer userId = (Integer) map.get("id");
  19.         List<Article> articleList = articleMapper.list(userId,categoryId,state);
  20.         //Page中提供了方法,可以获取PageHelper分页查询后 得到的总记录条数和当前页数据
  21.         Page<Article> p = (Page<Article>) articleList;
  22.         //把数据填充到PageBean对象中
  23.         pb.setTotal(p.getTotal());
  24.         pb.setItems(p.getResult());
  25.         return pb;
  26.     }
复制代码
4,mapper
  1. /**
  2.      * 查询文章列表
  3.      */
  4.     List<Article> list(Integer userId, Integer categoryId, String state);
复制代码
5,映射文件:
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3.         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.jinhei.mapper.ArticleMapper">
  6.     <!--动态sql-->
  7.     <select id="list" resultType="com.jinhei.pojp.Article">
  8.         select * from article
  9.         <where>
  10.             <if test="categoryId!=null">
  11.                 category_id=#{categoryId}
  12.             </if>
  13.             <if test="state!=null">
  14.                 and state=#{state}
  15.             </if>
  16.             and create_user=#{userId}
  17.         </where>
  18.     </select>
  19. </mapper>
复制代码
JinheiNew.zip (87.08 KB, 下载次数: 0, 售价: 50 金币)



上一篇:33,@RequestParam(required = false)参数不是必须,不是必填写法
网站建设,公众号小程序开发,系统定制,软件App开发,技术维护【联系我们】手机/微信:17817817816 QQ:515138

QQ|Archiver|自丢网 ( 粤ICP备2024252464号-1 )

GMT+8, 2026-3-3 06:51

专注于网站建设,公众号小程序制作,商城小程序,系统定制,软件App开发

【联系我们】手机/微信:17817817816 QQ:515138

快速回复 返回顶部 返回列表