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

在越南做一个网站怎么做百度ai开放平台

在越南做一个网站怎么做,百度ai开放平台,公司展示型网站,如何提高网站浏览量【全栈】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/a/445820.html

相关文章:

  • IEEE Transactions 风格补充材料(Word)快速排版教程
  • php 8.4.11 更新日志
  • 二分查找_优选算法(C++)二分查找算法
  • 安卓设备分区作用详解-测试机红米K40
  • 网站开发进度计划是什么长沙游戏推广
  • AI与敏捷开发管理系列4:双向赋能——AI技术如何优化敏捷实践
  • opencv cv2.MorphologyEx
  • 【多线程】读写锁(Read-Write Lock)是什么?
  • 电子商务网站建设步骤百度文库网站ip地址 a记录
  • 常规可见光相机在工业视觉检测中的应用
  • 佛山企业网站建设平台如何把官网
  • Vue3双向数据绑定v-model
  • Vue keep-alive
  • Vue中的hash模式和history模式
  • 微信网站 影楼电商网站开发代码
  • 如何更改PPT的比例大小
  • 【MediaMTX】centos 7 安装MediaMTX
  • 网站开发中 即将上线哈尔滨市建设厅网站
  • linux部署docker(国内镜像)
  • 深入理解HarmonyOS ArkTS语法:从组件化到状态管理
  • 东莞网站制作十强python培训费用大概多少
  • 网站嵌入视频代码郑州短视频运营公司
  • 【Linux】安装配置mysql中出现的问题1
  • CMU15445(2023fall) Project #1 - Buffer Pool Manager优化分析
  • Vue 基础(实战模板与命名指南)
  • 葫芦岛建设信息网站营销专业就业前景
  • 保定网站推广哪家好专业团队张伟图片
  • leetcode 1219 黄金矿工
  • 【Camera】MTK平台的一些基础认识(待补充)
  • Go基础:用Go语言操作MySQL详解