当前位置: 首页 > 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();}
}
http://www.lryc.cn/news/97988.html

相关文章:

  • VUE中使用ElementUI组件的单选按钮el-radio-button实现第二点击时取消选择的功能
  • 瓴羊Quick BI:可视化大屏界面设计满足企业个性需求
  • 617. 合并二叉树
  • 【T1】存货成本异常、数量为零金额不为零的处理方法。
  • EtherNet IP转PROFINET网关连接西门子与欧姆龙方法
  • 低代码开发重要工具:jvs-flow(流程引擎)审批功能配置说明
  • [SQL挖掘机] - GROUP BY语句
  • 【ubuntu|内核】ubuntu 22.04修改内核为指定版本
  • Carla教程一:动力学模型到LQR
  • IDE/mingw下动态库(.dll和.a文件)的生成和部署使用(对比MSVC下.dll和.lib)
  • 点击加号添加新的输入框
  • SQL AND OR 运算符
  • 6、C++内存模型
  • 上海市青少年算法2023年1月月赛(丙组)
  • 移动开发之Wifi列表获取功能
  • MyBatisPlus - 实体类 的 常用注解
  • vue3+ts+elementui-plus二次封装树形表格实现不同层级展开收起的功能
  • Qt之切换语言的方法(传统数组法与Qt语言家)
  • qt root start faild
  • 数据结构—串
  • hive 全量表、增量表、快照表、切片表和拉链表
  • 数据结构07:查找[C++][B树Btree]
  • 在CSDN学Golang云原生(Kubernetes集群管理)
  • WPF实战学习笔记18-优化设计TodoView
  • Python版day59
  • [SQL挖掘机] - 算术运算符
  • 机器学习基础 数据集、特征工程、特征预处理、特征选择 7.27
  • Sass 常用的功能!
  • chmod命令详细使用说明
  • ICC2如何计算Gate Count?