当前位置: 首页 > news >正文

springboot3+vue3融合项目实战-大事件文章管理系统-文章分类也表查询(条件分页)

在这里插入图片描述
在pojo实体类中增加pagebean实体类

@Data
@NoArgsConstructor
@AllArgsConstructor
public class PageBean <T>{private Long total;//总条数private List<T> items;//当前页数据集合
}

articlecontroller增加代码

@GetMappingpublic Result<PageBean<Article>> list(Integer pageNum,Integer pageSize,@RequestParam (required = false) Integer  categoryId,@RequestParam  (required = false) String state){PageBean<Article> pb=articleService.list(pageNum,pageSize,categoryId,state);return Result.success(pb);}

articleserviceimpl增加代码

@Overridepublic PageBean<Article> list(Integer pageNum, Integer pageSize, Integer categoryId, String state) {//1.创建PageBean对象PageBean<Article> pb=new PageBean<>();//2.开启分页查询 PageHelperPageHelper.startPage(pageNum,pageSize);//3.调用mapperMap<String,Object> map=ThreadLocalUtil.get();Integer userId=(Integer) map.get("id");List<Article> as=articleMapper.list(userId,categoryId,state);//Page中提供了方法,可以获取PageHelper分页查询后,得到的总记录条数和当前页数据Page<Article> p= (Page<Article>) as;//把数据填充到PageBean中pb.setTotal(p.getTotal());pb.setItems(p.getResult());return pb;}

因为用了 PageHelper.startPage 所以我们要在pom文件中导入依赖

<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.4.6</version></dependency>

实现mapper层方法,我们用动态sql来进行查询

在这里插入图片描述
在resource下目录下建立xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.itheima.mapper.ArticleMapper"><!--动态sql--><select id="list" resultType="com.itheima.pojo.Article">select * from article<where><if test="categoryId!=null">category_id=#{categoryId}</if><if test="state!=null">and state=#{state}</if>and create_user=#{userId}</where></select>
</mapper>
http://www.xdnf.cn/news/560701.html

相关文章:

  • 年会招标抽奖活动软件———仙盟创梦IDE
  • 【后端】【UV】【Django】 `uv` 管理的项目中搭建一个 Django 项目
  • Mysql索引实战1
  • 【人工智能发展史】从黎明到曙光01
  • 回溯法求解N皇后问题
  • 力扣-有效三角形的个数
  • 超低延迟音视频直播技术的未来发展与创新
  • (2025小白全踩坑版)【OpenHarmony】移植 3.1 版本系统到 STM32F407ZG开发板
  • 提问的艺术
  • 华为云Flexus+DeepSeek征文|Flexus云服务器Dify-LLM资源部署极致体验Agent
  • Linux云计算训练营笔记day13[CentOS 7 find、vim、vimdiff、ping、wget、curl、RPM、YUM]]
  • labview硬件部分——压力测量
  • labview——控制继电器模块
  • Tiny C 编译器中,如何实现宏展开和头文件包含的预处理逻辑?
  • 【HarmonyOS Next之旅】DevEco Studio使用指南(二十五) -> 端云一体化开发 -> 业务介绍(二)
  • 【深度学习】多目标融合算法(六):渐进式分层提取模型PLE(Progressive Layered Extraction)
  • 两个重要的alpha表达式
  • 三维表面轮廓仪的维护保养是确保其长期稳定运行的关键
  • 高速串行差分信号仿真分析及技术发展挑战
  • sqlsugar查看表结构并导出word文档
  • 【leetcode】70. 爬楼梯
  • leetcode 25. Reverse Nodes in k-Group
  • 民锋视角下的多因子金融分析模型实践
  • Vue组件通信方式及最佳实践
  • 【C++ 真题】P1075 [NOIP 2012 普及组] 质因数分解
  • openCV1.1 Mat对象
  • 中级统计师-统计学基础知识-第五章 相关分析
  • Day 0014:信息收集工具链
  • 搭建人工智能RAG知识库的主流平台与特点概述
  • 第9.2讲、Tiny Decoder(带 Mask)详解与实战