分页查询数据重复的问题 (分页时数据库插入数据导致)

news2024/11/28 0:35:24

参考:

https://blog.csdn.net/desongzhang/article/details/124941189

参考之后 自己遇到的坑+解决办法

一、问题描述

分页时,同时在数据库中添加数据,导致第n页和第n+1页有部分数据重复(重复条数和查询分页时的添加的数据量有关)

二、解决办法

分页的过程中,插入了一条记录,导致再查询下一页的时候,查出来上一页的记录,那么,我思考,我可不可以不去查询他新增的这一条记录。那么这样,就查询不到别人新增的这条记录了。

那么需要的条件就出来了: 数据库表要有创建时间的这么一个字段|实际项目时,根据业务需求的所用的排序条件。如:order by create_time desc

那么解决思路就出来了,首先是要前端进行配合。那么其解决思路为:

1、分页接口中新增接收参数:排序条件的上一页最后一条记录的值。如:上一页最后一条记录的创建时间:lastRecordCreateTime

2、分页接口的实现方法中新增第一步中的条件。如:where create_time> lastRecordCreateTime

3、 网页端或客户端访问分页接口时,将排序条件的上一页最后一条记录的值传到分页接口中。第一页时,“排序条件的上一页最后一条记录的值”如:lastRecordCreateTime 可不传。后端使用该参数时,需要判断null.

坑1:完成上述工作后,分页不会出现相同数据,但第二页及其往后的数据查询出来 不是正常的分页数据,而是在 前端传的分页参数(where create_time> lastRecordCreateTime)条件下的第N页,所以,

n+1页时:需要后端设置当前页码为1

//分页时,参数有上一页的时间参数查询条件时,需要将页码设置为第一页
if (request.getPageIndex() > 1 && StringUtils.isNotEmpty(request.getCreateDate())){
            request.setPageIndex(1);
        }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/166724.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

商业智能 BI 跟业务系统的思维差异,跨越和提升

各行业都已开始进入数据时代,但很多企业还是分不清商业智能 BI 跟一般的业务信息化系统定位、用户、思维层面上的差异。 在企业的 IT 信息化规划中,基础的业务系统建设一定是走在前面的,有了这些系统基础,才会有数据的积累&#…

SH-PEG-Silane巯基-聚乙二醇-硅烷试剂简介Silane-PEG-SH

SH-PEG-Silane巯基-聚乙二醇-硅烷 外观:固体或液体,取决于分子量大小。 PEG可选分子量: 1000,2000,3400,5000,10000 溶剂: 溶于DMSO,DMF,DCM,溶于水。 纯度:>95% 保存:-20℃&#xff0c…

目标检测模型设计准则 | YOLOv7参考的ELAN模型解读,YOLO系列模型思想的设计源头

转载:https://mp.weixin.qq.com/s/5SjQvRqRct6ClpE2eEcdkw设计高效、高质量的表达性网络架构一直是深度学习领域最重要的研究课题。当今的大多数网络设计策略都集中于如何集成从不同层提取的特征,以及如何设计计算单元来有效地提取这些特征,从…

Ubuntu22.04 设置静态IP

1.查看网卡名称及IP ip addr 网卡名称:ens33 IP:192.168.44.130 2.修改配置文件 在 /etc/netplan/ 目录下找到配置文件 *.yaml ,修改为 network:version: 2#renderer: NetworkManagerethernets:ens33:addresses: [192.168.44.130/24]dhcp4: nooptio…

Chrome扩展程序(插件),用你开发的脚本在浏览器上随心所欲

Chrome扩展程序(插件),用你开发的脚本在浏览器上随心所欲Chrome插件的文件结构Hello_World编写利用JavaScript实现Hello Everything灵活运用浏览器的存储storageoptions_Page基本用法电脑发通知 - Notifications的应用普通界面右键菜单 - con…

Android 9.0系统源码_SystemUI(八)PhoneWindow更新状态栏和导航栏背景颜色的流程解析

前言 状态栏与导航栏属于SystemUi的管理范畴,虽然界面的UI会受到SystemUi的影响,但是,APP并没有直接绘制SystemUI的权限与必要。APP端之所以能够更改状态栏的颜色、导航栏的颜色,其实还是操作自己的View更改UI。可以这么理解&…

【Linux】探索缓冲区的概念 | Git 三板斧 | 实现简易进度条

爆笑教程,只送有缘人 👉 《看表情包学Linux》 💭 写在前面:本章我们先对缓冲区的概念进行一个详细的探究,之后会带着大家一步步去编写一个简陋的 "进度条" 小程序,过程还是挺有意思的&#xff0c…

EMQX 在 Kubernetes 中如何进行优雅升级

背景 为了降低 EMQX 在 Kubernetes 上的部署、运维成本,我们将一些日常运维能力进行总结、抽象并整合到代码中,以 EMQX Kubernetes Operator 的方式帮助用户实现 EMQX 的自动化部署和运维。 此前,EMQX Kubernetes Operator v1beta1、v1beta…

React--》如何在React中创建TypeScript项目并使用?

目录 React中创建TS项目 TS目录结构 React函数组件类型 React类组件类型 如果你已经掌握了TS中基础类型、高级类型的使用,还想在前端项目中更深一层的使用TS,还需要掌握React、Vue、Angular等框架和框架提供的API,懂得如何在框架中使用TS…

【ROS】—— 机器人导航(仿真)—导航实现(十八)[重要][重要][重要]

文章目录前言准备条件1. 导航实现01_SLAM建图1.1 gmapping简介1.2 gmapping节点说明1.3 gmapping使用1.3.1 编写gmapping节点相关launch文件1.3.2 执行2. 导航实现02_地图服务2.1 map_server简介2.2 map_server使用之地图保存节点(map_saver)2.2.1 map_saver节点说明2.2.2 地图…

你是真的“C”——函数递归详解汉诺塔+青蛙跳台阶

函数递归详解汉诺塔青蛙跳台阶问题😎前言🙌函数递归之汉诺塔详解分析🙌汉诺塔问题的简介😊汉诺塔的移动图解😊汉诺塔具体的移动过程展示😊汉诺塔的难处所在:😊函数递归之青蛙跳台阶详…

从头安装gdal库(Linux环境下的Python版)

目录前言GDAL安装SWIG安装proj 安装sqlite安装pkg-config 安装其他报错No package libtiff-4 foundPackage liblzma, required by libtiff-4, not foundPackage libjpeg, required by libtiff-4, not foundPackage zlib, required by libtiff-4, not foundchecking for curl-co…

Windows下IIS部署网站流程

IIS Internet information service 是一个web服务器 1. IIS用于windows系统 2.apache用于Linux系统,JAVA的web服务器 3.Nginx用于Linux,负责负载均衡,反向代理 安装完IIS之后,去更改DNS的指向。 DNS指向:IP 和 域名 的…

Dopamine-PEG-N3,多巴胺聚乙二醇叠氮 科研试剂用于点击化学

中文:多巴胺-聚乙二醇-叠氮 英文:Dopamine-PEG-N3,DOPA-PEG-azide 存储条件:-20C,避光,避湿 用 途:仅供科研实验使用,不用于诊治 外观: 固体或粘性液体,取决于分子量 …

3D游戏引擎系统源码C++本科毕业设计,C++ 3D引擎源码,渲染系统使用的OpenGL 及 OpenGL ES

Effective 3D Engine 渲染系统使用的OpenGL 及 OpenGL ES,Windows上OpenGL ES使用AMD的ES模拟器。 环境部署 完整代码下载地址:3D游戏引擎系统源码C本科毕业设计 Win32环境配置 编辑器 将proj_win32/RenderSystem/gles_renderSystem/GLES/dll 中的d…

【web】微信小程序笔记小结(模板与配置)

来源:黑马程序员前端微信小程序开发教程 目录 I. WXML 模板语法 ① 数据绑定 ※※ 基本原则 ※※ 在 data 中定义数据 ※※ 在 WXML 中使用数据 ※※※※ Mustache 语法的格式 ※※※※ Mustache 主要应用场景 1)动态绑定内容 2)动…

测试篇(二): 如何合理的创建bug、bug的级别、bug的生命周期、跟开发产生争执怎么办

目录一、如何合理的创建bug二、bug的等级三、bug的生命周期四、和开发产生争执怎么办一、如何合理的创建bug 创建Bug的目的就是为了能够让其他人可以尝试复现 一个合格的bug应该包含以下一个要素: 发现问题的版本 例如Web程序对应的浏览器版本,或某个应…

AutoLISP 演练(一)

一、输入左下角点、矩形宽、矩形高后,自动的将图形依所给的条件画出二、变量约定本程序所需的AutoLisp功能函数(setq 变量名 变量值) ⬅ 设定变量值(getpoint [基点] [提示]) ⬅ 请求参考基点输入一个点坐标(getreal […

PyTorch中contiguous、view、Sequential、permute函数的用法

在pytorch中,tensor的实际数据以一维数组(storage)的形式存储于某个连续的内存中,以“行优先”进行存储。 1. tensor的连续性 tensor连续(contiguous)是指tensor的storage元素排列顺序与其按行优先时的元素…

【前端】列表页点进某个详情页,详情页可按顺序跳转到上一条/下一条的实现思路(2种)

需求概述 列表页展示列表,点击某个列表可以跳转到对应的详情页,点击上一页下一页可以按列表顺序跳转到对应详情页。比如点击列表2进入到详情2,我点上一页可以跳转到详情1,点击下一页可以跳转到详情3。难点:详情页如何…