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

2.03 PageHelper分页工具

步骤1:在application.yml中添加分页配置

# 分页插件配置
pagehelper:helperDialect: mysqlsupportMethodsArguments: true

步骤2:在顶级工程pom文件下引入分页插件依赖

<!--5.PageHelper -->
<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.2.12</version>
</dependency>

步骤3:创建用来返回分页Grid的数据格式

/*** @Description: 用来返回分页Grid的数据格式*/
public class PagedGridResult {private int page;			// 当前页数private int total;			// 总页数private long records;		// 总记录数private List<?> rows;		// 每行显示的内容public int getPage() {return page;}public void setPage(int page) {this.page = page;}public int getTotal() {return total;}public void setTotal(int total) {this.total = total;}public long getRecords() {return records;}public void setRecords(long records) {this.records = records;}public List<?> getRows() {return rows;}public void setRows(List<?> rows) {this.rows = rows;}
}

步骤4:service接口中使用mybatis-pagehelper

@Transactional(propagation = Propagation.SUPPORTS)@Overridepublic PagedGridResult queryPagedComments(String itemId, Integer level,Integer page, Integer pageSize) {Map<String, Object> map = new HashMap<>();map.put("itemId", itemId);map.put("level", level);/** page: 第几页 pageSize: 每页显示条数 */PageHelper.startPage(page, pageSize);List<ItemCommentVO> list = itemsMapperCustom.queryItemComments(map);return setterPagedGrid(list, page);}private PagedGridResult setterPagedGrid(List<?> list, Integer page) {PageInfo<?> pageList = new PageInfo<>(list);PagedGridResult grid = new PagedGridResult();grid.setPage(page);grid.setRows(list);grid.setTotal(pageList.getPages());grid.setRecords(pageList.getTotal());return grid;}

在这里插入图片描述


通用脱敏工具类:

/*** 通用脱敏工具类* 可用于: 用户名 手机号 邮箱 地址等*/
public class DesensitizationUtil {private static final int SIZE = 6;private static final String SYMBOL = "*";public static void main(String[] args) {String name = commonDisplay("name djh");String mobile = commonDisplay("13900000000");String mail = commonDisplay("admin@imooc.com");String address = commonDisplay("address 888 num");System.out.println(name);System.out.println(mobile);System.out.println(mail);System.out.println(address);}/*** 通用脱敏方法* @param value* @return*/public static String commonDisplay(String value) {if (null == value || "".equals(value)) {   return value;  }int len = value.length();int pamaone = len / 2;int pamatwo = pamaone - 1;int pamathree = len % 2;StringBuilder stringBuilder = new StringBuilder();if (len <= 2) {if (pamathree == 1) {return SYMBOL;}stringBuilder.append(SYMBOL);stringBuilder.append(value.charAt(len - 1));} else {if (pamatwo <= 0) {stringBuilder.append(value.substring(0, 1));stringBuilder.append(SYMBOL);stringBuilder.append(value.substring(len - 1, len));} else if (pamatwo >= SIZE / 2 && SIZE + 1 != len) {int pamafive = (len - SIZE) / 2;stringBuilder.append(value.substring(0, pamafive));for (int i = 0; i < SIZE; i++) {stringBuilder.append(SYMBOL);}if ((pamathree == 0 && SIZE / 2 == 0) || (pamathree != 0 && SIZE % 2 != 0)) {stringBuilder.append(value.substring(len - pamafive, len));} else {stringBuilder.append(value.substring(len - (pamafive + 1), len));}} else {int pamafour = len - 2;stringBuilder.append(value.substring(0, 1));for (int i = 0; i < pamafour; i++) {stringBuilder.append(SYMBOL);}stringBuilder.append(value.substring(len - 1, len));}}return stringBuilder.toString();}
}

相关文章:

2.03 PageHelper分页工具

步骤1&#xff1a;在application.yml中添加分页配置 # 分页插件配置 pagehelper:helperDialect: mysqlsupportMethodsArguments: true步骤2&#xff1a;在顶级工程pom文件下引入分页插件依赖 <!--5.PageHelper --> <dependency><groupId>com.github.pagehe…...

VUE中使用ElementUI组件的单选按钮el-radio-button实现第二点击时取消选择的功能

页面样式为&#xff1a; html 代码为&#xff1a; 日志等级&#xff1a; <el-radio-group v-model"logLevel"><el-radio-button label"DEBUG" click.native.prevent"changeLogLevel(DEBUG)">DEBUG</el-radio-button><el-r…...

瓴羊Quick BI:可视化大屏界面设计满足企业个性需求

大数据技术成为现阶段企业缩短与竞争对手之间差距的重要抓手&#xff0c;依托以瓴羊Quick BI为代表的工具开展内部数据处理分析工作&#xff0c;也成为诸多企业持续获取竞争优势的必由之路。早年间国内企业倾向于使用进口BI工具&#xff0c;但随着瓴羊Quick BI等一众国内数据处…...

617. 合并二叉树

题目 题解一&#xff1a;递归 /*** 递归* param root1* param root2* return*/public TreeNode mergeTrees(TreeNode root1, TreeNode root2) {//结束条件if (root1 null) {return root2;} //结束条件if (root2 null) {return root1;}//两节点数值相加TreeNode me…...

【T1】存货成本异常、数量为零金额不为零的处理方法。

【问题描述】 使用T1飞跃专业版的过程中&#xff0c; 由于业务问题或者是操作问题&#xff0c; 经常会遇到某个商品成本异常不准确&#xff0c; 或者是遇到数量为0金额不为0的情况&#xff0c;需要将其成本调为0。 但是T1软件没有出入库调整单&#xff0c;并且结账无法针对数量…...

EtherNet IP转PROFINET网关连接西门子与欧姆龙方法

本文主要介绍了捷米特JM-PN-EIP&#xff08;EtherNet/IP转PROFINET&#xff09;网关西门子200智能PLC&#xff08;PROFINET&#xff09;和欧姆龙系统EtherNet/IP通信的配置过程。 1, 将 EDS 文件复制到欧姆龙软件的对应文件夹下 2, 首先添加捷米特JM-PN-EIP网关的全局变量&…...

低代码开发重要工具:jvs-flow(流程引擎)审批功能配置说明

流程引擎场景介绍 流程引擎基于一组节点与执行界面&#xff0c;通过人机交互的形式自动地执行和协调各个任务和活动。它可以实现任务的分配、协作、路由和跟踪。通过流程引擎&#xff0c;组织能够实现业务流程的优化、标准化和自动化&#xff0c;提高工作效率和质量。 在企业…...

[SQL挖掘机] - GROUP BY语句

介绍: group by 是 sql 中用于对结果集进行分组的关键字。通过使用 group by&#xff0c;可以根据一个或多个列的值将结果集中的行分组&#xff0c;并对每个分组应用某种聚合函数&#xff08;如 count、sum、avg 等&#xff09;以生成汇总信息。这样可以方便地对数据进行分类、…...

【ubuntu|内核】ubuntu 22.04修改内核为指定版本

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 ubuntu 22.04 安装指定内核 1. 正文 查看已安装的内核镜像 dpkg --get-selections | grep linux-image1.1 安装指定版本的内核 安装镜像 sudo apt-g…...

Carla教程一:动力学模型到LQR

Carla教程一、动力学模型到LQR 从运动学模型和动力学模型到LQR 模型就是可以描述车辆运动规律的模型。车辆建模都是基于自行车模型的设定,也就是将四个轮子抽象为自行车一样的两个轮子来建模。 1、运动学模型 运动学模型是基于几何关系分析出来的,一般适用于低俗情况下,…...

IDE/mingw下动态库(.dll和.a文件)的生成和部署使用(对比MSVC下.dll和.lib)

文章目录 概述问题的产生基于mingw的DLL动态库基于mingw的EXE可执行程序Makefile文件中使用Qt库的\*.a文件mingw下的*.a 文件 和 *.dll 到底谁起作用小插曲 mingw 生成的 \*.a文件到底是什么为啥mingw的dll可用以编译链接过程转换为lib引导文件 概述 本文介绍了 QtCreator mi…...

点击加号添加新的输入框

实现如上图的效果 html部分&#xff1a; <el-form-item class"forminput" v-for"(item,index) in formdata.description" :key"index" :label"描述(index1)" prop"description"><el-input v-model"formdata…...

SQL AND OR 运算符

AND & OR 运算符用于基于一个以上的条件对记录进行过滤。 如果第一个条件和第二个条件都成立&#xff0c;则 AND 运算符显示一条记录。 如果第一个条件和第二个条件中只要有一个成立&#xff0c;则 OR 运算符显示一条记录。 下面是选自 "students" 表的数据&a…...

6、C++内存模型

原文&#xff1a; https://my.oschina.net/u/2516597/blog/805489 背景 C11开始支持多线程&#xff0c;其中提供了原子类型atomic, 和atomic关系比较密切的是memory_order&#xff0c;所有的内存模型都是指atomic类型 enum memory_order {memory_order_relaxed,memory_order…...

上海市青少年算法2023年1月月赛(丙组)

上海市青少年算法2023年1月月赛(丙组)T1 实验日志 题目描述 小爱正在完成一个物理实验,为期n天,其中第i天,小爱会记录ai条实验数据在实验日志中。 已知小爱的实验日志每一页最多纪录m条数据,每天做完实验后他都会将日志合上,第二天,他便从第一页开始依次翻页,直到找到…...

移动开发之Wifi列表获取功能

一、场景 业务需要通过App给设备配置无线网络连接&#xff0c;所以需要App获取附近的WiFi列表&#xff0c;并进行网络连接验证。 二、安卓端实现 1、阅读谷歌官网文档&#xff0c;关于Wifi 接口使用 https://developer.android.com/guide/topics/connectivity/wifi-scan?hl…...

MyBatisPlus - 实体类 的 常用注解

TableName(“表名”) 假设 表名是 book&#xff0c;实体类类名是 Book MyBatisPlus会进行自动映射 但如果 表名是 tab_book&#xff0c;实体类类名是 Book 那么MyBatisPlus就无法进行自动映射&#xff0c;需要我们使用 TableName注解 去指定实体类对应的表 如下 TableNa…...

vue3+ts+elementui-plus二次封装树形表格实现不同层级展开收起的功能

一、TableTreeLevel组件 <template><div classmain><div class"btns"><el-button type"primary" click"expandLevel(1)">展开一级</el-button><el-button type"primary" click"expandLevel(2…...

Qt之切换语言的方法(传统数组法与Qt语言家)

http://t.csdn.cn/BVigB 传统数组法&#xff1a; 定义一个字符串二维数组&#xff0c; QString weekStr[2][7] {"星期一","星期二","星期三","星期四","星期五","星期六","星期日",\ "Monday&…...

qt root start faild

深入解析chown -r root:root命令_笔记大全_设计学院 ffmpeg第五弹&#xff1a;QtSDLffmpeg视频播放演示_txp玩Linux的博客-CSDN博客...

从测速到配置:一套完整的cFosSpeed网络加速保姆级教程(适用于小白)

从零开始掌握cFosSpeed&#xff1a;网络加速全流程实战指南对于经常进行在线游戏、视频会议或大文件传输的用户来说&#xff0c;网络延迟和带宽利用率低下往往是影响体验的关键痛点。cFosSpeed作为一款专业的网络流量优化工具&#xff0c;能够显著改善这些问题&#xff0c;但许…...

UE4动画蓝图实战:用双骨骼IK节点搞定手部穿模,附完整蓝图节点截图

UE4动画蓝图实战&#xff1a;双骨骼IK节点解决手部穿模的完整指南在角色动画开发中&#xff0c;手部穿模问题堪称"视觉杀手"。想象一下精心设计的角色挥拳时&#xff0c;拳头直接穿过墙壁或敌人身体——这种违和感足以毁掉整个场景的沉浸感。本文将彻底解决这个痛点&…...

别再只用Service了!ROS1 Action通信保姆级教程:从导航进度条到任务取消,手把手教你实现带反馈的机器人任务

别再只用Service了&#xff01;ROS1 Action通信保姆级教程&#xff1a;从导航进度条到任务取消&#xff0c;手把手教你实现带反馈的机器人任务当你的机器人正在执行一个长达10分钟的导航任务时&#xff0c;突然发现目标点设置错误&#xff0c;这时候如果只能干等着任务完成或者…...

Lampiao 靶场

Lampiao 靶场完整渗透解析一、靶场环境信息攻击机&#xff08;Kali&#xff09;IP&#xff1a;192.168.146.128靶机 IP&#xff1a;192.168.146.129目标&#xff1a;获取靶机 root 权限与 flag二、步骤 1&#xff1a;信息收集&#xff08;端口与服务扫描&#xff09;nmap -p- -…...

【MySQL数据库 | 第一篇】 概述

数据库相关概念&#xff1a; 数据库(Database)&#xff1a;数据库是指一组有组织的数据的集合&#xff0c;通过计算机程序进行管理和访问。数据库管理系统&#xff1a;操纵和管理数据库的大型软件SQL&#xff1a;操作关系型数据库的编程语言&#xff0c;定义了一套操作关系型数…...

【DeepSeek架构评审功能深度解密】:20年架构师亲授3大避坑指南与5步落地 checklist

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;DeepSeek架构评审功能全景概览 DeepSeek架构评审功能是一套面向大模型系统设计与工程落地的自动化分析框架&#xff0c;聚焦于模型结构合理性、计算图优化潜力、内存访问模式、算子兼容性及部署约束等多维度评…...

2027考研全套资料免费分享

备战27考研最全备考资料整理完毕&#xff0c;一路走来深知备考搜集资料耗费大量时间&#xff0c;浪费不少精力。特意整理2027考研全科完整版资源&#xff0c;全部打包汇总&#xff0c;零基础考生直接拿来就能使用&#xff0c;省去四处搜集资料的烦恼。资料内含&#xff1a;&…...

Spring Security OAuth2 /oauth/token 401原因与Content-Type规范

1. 问题现场还原&#xff1a;一个看似简单却让开发停摆两小时的/oauth/token请求刚接手一个老项目做安全加固&#xff0c;第一件事就是验证OAuth2密码模式的token获取流程。我照着文档写了一条curl命令&#xff1a;curl -X POST http://localhost:8080/oauth/token回车执行&…...

HarmonyOS 6学习:解决图片放大后无法移动至边缘的matrix4矩阵变换技巧

从"卡在中间"到"自由拖拽"&#xff1a;一次完整的图片缩放平移边界问题攻关在HarmonyOS 6应用开发中&#xff0c;我最近遇到了一个看似简单却让人头疼的图片查看器问题&#xff1a;用户双指放大图片后&#xff0c;想要拖动查看边缘细节&#xff0c;却发现图…...

脉冲神经网络加速器设计与边缘计算优化

1. 脉冲神经网络加速器的设计挑战与突破在边缘计算领域&#xff0c;脉冲神经网络(SNN)正以其独特的生物启发特性引发新一轮技术变革。与传统人工神经网络(ANN)相比&#xff0c;SNN通过离散的脉冲信号传递信息&#xff0c;模拟生物神经元的工作机制&#xff0c;理论上可实现超低…...