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

上海平台网站建设公司班级优化大师客服电话

上海平台网站建设公司,班级优化大师客服电话,wordpress不提示更新,做网站要用写接口【全栈】SprintBootvue3迷你商城-细节解析(2):分页 往期的文章都在这里啦,大家有兴趣可以看一下 后端部分: 【全栈】SprintBootvue3迷你商城(1) 【全栈】SprintBootvue3迷你商城(…

【全栈】SprintBoot+vue3迷你商城-细节解析(2):分页

往期的文章都在这里啦,大家有兴趣可以看一下

后端部分:

【全栈】SprintBoot+vue3迷你商城(1)
【全栈】SprintBoot+vue3迷你商城(2)
【全栈】SprintBoot+vue3迷你商城-扩展:利用python爬虫爬取商品数据
【全栈】SprintBoot+vue3迷你商城(3)
【全栈】SprintBoot+vue3迷你商城(4)
【全栈】SprintBoot+vue3迷你商城(5)
【全栈】SprintBoot+vue3迷你商城(6)

前端部分:

【全栈】SprintBoot+vue3迷你商城-扩展:vue的基本用法

【全栈】SprintBoot+vue3迷你商城-扩展:vue3项目创建及目录介绍

【全栈】SprintBoot+vue3迷你商城(7)

【全栈】SprintBoot+vue3迷你商城(8)

【全栈】SprintBoot+vue3迷你商城(9)

【全栈】SprintBoot+vue3迷你商城(10)

细节解析部分:

【全栈】SprintBoot+vue3迷你商城-细节解析(1):Token、Jwt令牌、Redis、ThreadLocal变量

补充部分:

【全栈】SprintBoot+vue3迷你商城(11)

文章目录

  • 【全栈】SprintBoot+vue3迷你商城-细节解析(2):分页
    • 1.什么是PageHelper
      • 主要特点
      • 使用示例
        • Maven 依赖
        • 代码示例
    • 2.PageBean有什么用
    • 3.PageHelper.startPage(pageNum, pageSize);
      • 主要用途
      • 应该放在何处
    • 4.Element Plus分页组件
    • 5.总结

1.什么是PageHelper

PageHelper 是一个用于简化分页操作的插件,主要用于 MyBatis 框架中。它可以帮助开发者非常方便地实现数据库查询结果的分页功能,而无需手动编写 SQL 语句中的 LIMIT 或者其他数据库特定的分页语法。PageHelper 支持多种数据库,包括 MySQL、Oracle、SQL Server 等,并且提供了简单的 API 来实现分页。

主要特点

  1. 简单易用:只需在执行查询之前调用 PageHelper 的静态方法设置分页参数,即可自动完成分页操作。
  2. 支持多数据库:PageHelper 支持多种数据库,能够根据不同的数据库生成相应的分页语句。
  3. 灵活配置:可以通过多种方式进行配置,如通过代码动态配置或通过配置文件进行全局配置。
  4. 丰富的功能:除了基本的分页功能外,还提供了一些额外的功能,比如排序等。

使用示例

下面是一个使用 PageHelper 进行分页查询的基本示例:

Maven 依赖

首先,在你的项目中添加 PageHelper 的 Maven 依赖(如果你使用的是 Maven 构建工具):

<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>版本号</version>
</dependency>
代码示例

假设你有一个 MyBatis Mapper 接口和对应的 XML 映射文件,你可以这样使用 PageHelper:

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import java.util.List;public List<User> getUsersByPage(int pageNum, int pageSize) {// 设置分页参数 - 当前页码,每页显示的数量PageHelper.startPage(pageNum, pageSize);// 执行查询 - 注意这里的查询不需要自己写分页逻辑List<User> users = userMapper.selectAllUsers();// PageInfo 是 PageHelper 提供的一个封装类,包含了分页信息PageInfo<User> pageInfo = new PageInfo<>(users);return pageInfo.getList(); // 返回当前页的数据列表
}

在这个例子中,PageHelper.startPage(pageNum, pageSize); 会拦截后续的第一个查询请求,并自动为其添加分页功能。然后,你就可以像平常一样执行查询操作,PageHelper 会在后台为你处理所有与分页相关的细节。

所以说,PageHelper 是一个强大的工具,它可以极大地简化 MyBatis 中的分页操作,使得开发者可以更专注于业务逻辑的实现,而不是被繁琐的分页逻辑所困扰。通过简单的 API 调用,就能轻松实现对不同数据库的支持以及高效的分页查询。

2.PageBean有什么用

  1. 数据封装PageBean 可以将查询结果和分页信息一起封装,便于返回给前端进行展示。
  2. 前后端分离:在前后端分离架构中,PageBean 作为 API 响应的一部分,提供给前端所需的所有分页信息,使得前端可以轻松实现分页逻辑。
  3. 统一处理分页逻辑:通过定义一个通用的 PageBean 类,可以在整个项目中统一处理分页相关的逻辑,减少重复代码。
  4. 增强可读性和维护性:将分页相关的属性集中在一个类中,有助于提高代码的可读性和可维护性。

3.PageHelper.startPage(pageNum, pageSize);

这行代码有什么用?应该放在何处?

PageHelper.startPage(pageNum, pageSize); 这行代码是用于在 MyBatis 查询中启用分页功能的。具体来说,它会在你执行查询操作之前设置分页参数,并拦截后续的第一个查询请求,自动为这个查询添加分页逻辑(例如,在 SQL 语句中添加 LIMIT 子句)。这意味着你不需要手动修改你的 SQL 查询来实现分页。

主要用途

  • 启用分页:通过调用 PageHelper.startPage(pageNum, pageSize); 来指定当前页码 (pageNum) 和每页显示的记录数 (pageSize)。
  • 自动处理分页逻辑:之后执行的任何 MyBatis 查询都会被自动加上分页条件,而不需要你在 SQL 中手动添加这些条件。

应该放在何处

通常,你应该将 PageHelper.startPage(pageNum, pageSize); 放在你要进行分页查询的操作之前,紧挨着你的查询方法调用。这是因为 PageHelper 使用了 MyBatis 的插件机制来拦截查询请求,并在实际执行查询前对其进行修改以添加分页支持。

例如在上一期的代码中:

PageHelper.startPage(pageNum, pageSize);List<Goods> goodsList = goodsService.getGoodsList(searchKey);

在这段代码中,PageHelper.startPage(pageNum, pageSize); 的作用是为接下来的 MyBatis 查询设置分页参数。这意味着,在调用 PageHelper.startPage(pageNum, pageSize); 之后的第一个查询操作将会被自动加上分页逻辑(例如添加 LIMIT 子句)。因此,将 PageHelper.startPage(pageNum, pageSize); 紧接在实际执行数据库查询之前是非常重要的。

4.Element Plus分页组件

Element Plus 是一个流行的 Vue 3 UI 库,提供了丰富的组件来帮助开发者快速构建美观且功能强大的用户界面。其中,el-pagination 组件用于实现分页功能,支持多种布局和事件处理,可以方便地集成到你的项目中。

组件源码:

<template><el-pagination background layout="prev, pager, next" :total="1000" />
</template>

我们结合上期代码,便可理解其用法

<template>
<div style="display: flex; justify-content: center;"><el-pagination background layout="prev, pager, next" :total="goodsCount" :page-size="pageSize":current-page="currentPage"  @current-change="handlePageChange" /></div>
</template><script>const goodsList = async () => {let result = await getGoodsListService(currentPage.value,pageSize.value,searchKey.value);goodsListModel.value = result.data['items'];goodsCount.value = result.data['total']console.log(result.data['total'])
}
goodsList();const searchKey = ref('')const currentPage = ref(1);const pageSize = ref(12);const handlePageChange = (newPage) => {console.log(newPage)currentPage.value = newPage;goodsList();
};
</script>

5.总结

本期对分页的一些细节进行了总结,下期将继续补充开发中的一些细节问题。

http://www.dtcms.com/wzjs/340127.html

相关文章:

  • 小说小程序搭建江苏seo团队
  • 网站访问量查询整站seo优化公司
  • 有什么做照片书的网站搜索引擎推广的方法有
  • 上海网站推广珈维网络推广员工作好做吗
  • 广州外贸网站推广长沙seo优化哪家好
  • 网上做娱乐广告的网站北京营销推广公司
  • 做响应式网站的菜单栏网络营销的概念与含义
  • 做导购网站多少钱爱站网反链查询
  • 开源网站后台管理系统搜索引擎优化关键词
  • 筑巢网站河南百度seo
  • 如何网上快速接网站开发订单关键词出价计算公式
  • 卢龙网站建设天津快速关键词排名
  • 沌口做网站关键词收录查询工具
  • 济南开发网站做网站的公司有哪些
  • 怎么做带后台的网站百度人工客服电话
  • 做商城网站需要准备那些淘宝seo推广优化
  • 深圳做h5网站设计潍坊seo建站
  • 做网站虚拟主机和云服务器网站点击排名优化
  • 宁波企业网站设计郑州关键词排名顾问
  • 精品网站制作怎样做网站
  • 手机页面网站模板怎么卖windows优化大师有毒吗
  • 免费云服务器官网广州优化公司哪家好
  • 中国空间站合作的17个国家app推广接单平台哪个好
  • 做网站框架西安网站seo技术
  • 泰安专业网站开发公司网站建站方式有哪些
  • 辽宁新闻网站的建设佛山网站建设
  • 免费建网站教程丽水网站seo
  • 跨境自建站模板电商网站运营
  • 自己做的网站怎么发布到网上关键词怎么提取
  • 莱芜网站建设莱芜新网站推广方法