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

对网站策划的看法推动高质量发展发言材料

对网站策划的看法,推动高质量发展发言材料,小程序设计软件,德州seomarkdown 前后端分页实现全面指南 本指南详细讲解Java后端与Vue前端的分页实现方案&#xff0c;涵盖框架集成和原生实现两种方式。 一、后端Java分页实现 1. 使用MyBatis PageHelper插件 **依赖配置**&#xff1a; xml <!-- pom.xml --> <dependency><group…

markdown

前后端分页实现全面指南

本指南详细讲解Java后端与Vue前端的分页实现方案,涵盖框架集成和原生实现两种方式。


一、后端Java分页实现

1. 使用MyBatis + PageHelper插件


**依赖配置**:
```xml
<!-- pom.xml -->
<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.4.6</version>
</dependency>
代码实现:java
// Controller层
@GetMapping("/users")
public PageInfo<User> getUsers(@RequestParam int pageNum, @RequestParam int pageSize) {return userService.getUsers(pageNum, pageSize);
}// Service层
public PageInfo<User> getUsers(int pageNum, int pageSize) {PageHelper.startPage(pageNum, pageSize);  // 自动拦截SQLList<User> users = userMapper.selectAll();return new PageInfo<>(users);  // 包含分页元数据
}// Mapper XML(无需分页SQL)
<select id="selectAll" resultType="User">SELECT * FROM users  <!-- 原始SQL -->
</select>
  1. 原生JDBC分页实现.
核心逻辑:

java
public PageResult manualPagination(int pageNum, int pageSize) throws SQLException {
int offset = (pageNum - 1) * pageSize;
String dataSql = “SELECT * FROM users LIMIT ? OFFSET ?”;
String countSql = “SELECT COUNT(*) FROM users”;

try (Connection conn = dataSource.getConnection();PreparedStatement dataStmt = conn.prepareStatement(dataSql);PreparedStatement countStmt = conn.prepareStatement(countSql)) {// 分页数据查询dataStmt.setInt(1, pageSize);dataStmt.setInt(2, offset);ResultSet rs = dataStmt.executeQuery();List<User> users = new ArrayList<>();while (rs.next()) {users.add(new User(rs.getInt("id"), rs.getString("name")));}// 总数查询ResultSet countRs = countStmt.executeQuery();int total = countRs.next() ? countRs.getInt(1) : 0;return new PageResult<>(users, total);
}

}


二、前端Vue分页实现1. 使用Element UI组件安装组件:bash

npm install element-ui

模板与逻辑:vue
<el-pagination:current-page="currentPage":page-sizes="[5, 10, 20]":page-size="pageSize":total="total"layout="total, sizes, prev, pager, next"@size-change="handleSizeChange"@current-change="handlePageChange"
/>
2. 自定义分页组件

组件实现:

vue

三、数据库分页SQL
数据库	SQL语句示例
MySQL	

SELECT * FROM users ORDER BY id LIMIT #{pageSize} OFFSET #{offset}


Oracle	

SELECT * FROM (SELECT t.*, ROWNUM rn FROM users t WHERE ROWNUM <= #{end}) WHERE rn >= #{start}


SQL Server	

SELECT * FROM users ORDER BY id OFFSET #{offset} ROWS FETCH NEXT #{pageSize} ROWS ONLY


四、核心公式与协议分页计算公式javascript

offset = (currentPage - 1) * pageSize
totalPages = Math.ceil(totalItems / pageSize)


接口协议规范请求参数:

json
{
“pageNum”: 1, // 当前页码
“pageSize”: 10 // 每页数据量
}

响应格式:json

{
“list”: [], // 当前页数据
“total”: 100 // 总数据量
}

五、性能优化建议
索引优化排序字段必须建立索引(如ORDER BY create_time DESC)组合查询时使用复合索引深度分页处理sql

– MySQL优化方案
SELECT * FROM users
WHERE id > #{lastId} – 使用游标分页
ORDER BY id
LIMIT #{pageSize}

缓存策略热点数据使用Redis缓存分页结果使用Elasticsearch进行复杂分页查询六、方案选型指南
场景	推荐方案
快速开发常规项目	PageHelper + Element UI
高并发海量数据	游标分页 + 前端无限滚动
需要深度定制分页逻辑	原生JDBC + 自定义Vue组件
复杂多条件查询	Elasticsearch分页
完整示例代码参考:GitHub示例仓库
http://www.dtcms.com/a/475292.html

相关文章:

  • Ubuntu CUDA Toolkit安装失败
  • 取消网站备案号个人网页制作设计模板
  • 宣城市网站建设wordpress支持MySQL5.5
  • 高校后勤网站建设龙口建网站
  • 审计实务网站建设论文简述网站推广的方法
  • 国通快速免费建站国外做宠物产品的网站
  • 成都广告公司网站建设2008 做网站
  • 计算机毕业设计选题推荐:基于SpringBoot和Vue的快递物流仓库管理系统【源码+文档+调试】
  • 郑州哪里有做网站成都哪里做网站备案
  • API开发接入实战避坑指南与经验总结淘宝商品详情API
  • 公司内部网站怎么建设更改网站文章上传时间
  • MySQL 数据库基础:从概念到实战全解析
  • 翻转后1的数量(dp)
  • 【PYTHON学习】推断聚类后簇的类型DAY18
  • 如何做网站的线下推广织梦wordpress百度小程序
  • 【Unity每日一记】Unity三维数学进阶:齐次坐标、万向节锁与四元数详解
  • 桂林北站怎么去阳朔上传网站代码
  • 【完整源码+数据集+部署教程】稻米害虫种类识别检测系统源码和数据集:改进yolo11-AKConv
  • 电商网站建设公司怎么样wordpress排版界面
  • 网站设计风格有几种免费咨询在线医生问答
  • 坪山网站建设价位wordpress 热门文章 侧边栏
  • 杀软绕过技术和MSFvenom编码器学习
  • 亦庄公司做网站网站语言切换功能如何做
  • Vue数据绑定
  • 网页设计作业在线网站首页大气的化妆品网站名
  • Java异常处理的艺术从CheckedException到优雅的容错设计
  • C#内存管理深度解析:从栈堆原理到高性能编程实践
  • 协同计算的深度探索:技术原理、实践应用与未来趋势
  • 网站还建设 域名可以备案吗购物网站建设实战教程答案
  • 词根学习笔记 | Am系列