mybatis-plus 使用 sql 分页
#分页工具类
/**
* 分页参数处理
*/
public class PageUtil {
/**
* 分页返回数据封装
*
* @param page
* @return Map<String, Object>
* @author Hd
* @date 2021/12/18 12:47
*/
public static Map<String, Object> toPage(Page page) {
Map<String, Object> map = new LinkedHashMap<>(2);
map.put("pages", page.getPages());
map.put("current", page.getCurrent());
map.put("total", page.getTotal());
map.put("list", page.getRecords());
return map;
}
/**
* 分页参数转化
*
* @param orderItems
* @param sqlPrefix
* @return List<OrderItem>
*/
public static List<OrderItem> toOrderItem(List<OrderItem> orderItems, String sqlPrefix) {
//OrderItem(column=updated_time, asc=false)
return orderItems
.stream()
.map(item -> new OrderItem(sqlPrefix + "." + item.getColumn(), item.isAsc()))
.collect(Collectors.toList());
}
#代码Controller
public Result listPage(ProblemInfoQueryDto problemInfoQueryDto) {
return Result.success("查询成功", problemInfoService.listPage(problemInfoQueryDto));
}
#service
Map listPage(ProblemInfoQueryDto problemInfoQueryDto);
#serviceImpl
public Map<String, Object> listPage(ProblemInfoQueryDto problemInfoDto) {
IPage<ProblemInfoVo> page = new Page<>(problemInfoDto.getPage(), problemInfoDto.getSize());
QueryWrapper<ProblemInfo> wrap = new QueryWrapper<>();
wrap.orderByDesc("id");
return PageUtil.toPage(mapper.listPage(page, wrap));
}
#mapper
Page<ProblemInfoVo> listPage(IPage<ProblemInfoVo> page,@Param(Constants.WRAPPER) QueryWrapper<ProblemInfo> wrap);
#xml
SELECT
*
FROM
tb_problem_info ${ew.customSqlSegment}
mybatis-plus 使用 sql 分页的更多相关文章
- springboot使用mybatis拦截进行SQL分页
新建一个类MyPageInterceptor.java(注意在springboot中要添加注解@Component) package com.grand.p1upgrade.mapper.test; ...
- SpringBoot使用Mybatis注解开发教程-分页-动态sql
代码示例可以参考个人GitHub项目kingboy-springboot-data 一.环境配置 1.引入mybatis依赖 compile( //SpringMVC 'org.springframe ...
- Mybatis拦截器实现分页
本文介绍使用Mybatis拦截器,实现分页:并且在dao层,直接返回自定义的分页对象. 最终dao层结果: public interface ModelMapper { Page<Model&g ...
- pageHelper多个sql分页
之前有个需求,在一个页面中需要有多个sql分页查询然后放到一个list中,展示,但是会出现一个bug,就是每次分页都会展示第一条查出的所有的数据: 第一页 第二页 因为是截的生产环境,第一条数据被处理 ...
- mybatis拦截器实现分页功能的示例讲解
import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import jav ...
- 利用MyBatis的动态SQL特性抽象统一SQL查询接口
1. SQL查询的统一抽象 MyBatis制动动态SQL的构造,利用动态SQL和自定义的参数Bean抽象,可以将绝大部分SQL查询抽象为一个统一接口,查询参数使用一个自定义bean继承Map,使用映射 ...
- SpringBoot2.0 基础案例(10):整合Mybatis框架,集成分页助手插件
一.Mybatis框架 1.mybatis简介 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获 ...
- Oracle使用MyBatis中RowBounds实现分页查询
Oracle中分页查询因为存在伪列rownum,sql语句写起来较为复杂,现在介绍一种通过使用MyBatis中的RowBounds进行分页查询,非常方便. 使用MyBatis中的RowBounds进行 ...
- MyBatis框架之SQL映射和动态SQL
使用MyBatis实现条件查询 1.SQL映射文件: MyBatis真正的强大之处就在于SQL映射语句,MyBatis专注于SQL,对于开发人员来说也是极大限度的进行SQL调优,以保证性能.下面是SQ ...
- Mybatis中动态SQL语句中的parameterType不同数据类型的用法
Mybatis中动态SQL语句中的parameterType不同数据类型的用法1. 简单数据类型, 此时#{id,jdbcType=INTEGER}中id可以取任意名字如#{a,jdbcType ...
随机推荐
- IoT 边缘集群基于 Kubernetes Events 的告警通知实现(二):进一步配置
上一篇文章 IoT 边缘集群基于 Kubernetes Events 的告警通知实现 目标 告警恢复通知 - 经过评估无法实现 原因: 告警和恢复是单独完全不相关的事件, 告警是 Warning 级别 ...
- 如何通过C#/VB.NET代码在Word中更改字体颜色
在日常工作中,我们有时会需要修改字体的颜色来突出文本重点,让读者更容易抓住文章要点.在今天这篇文章中,我将为大家介绍如何以编程方式,在Word更改字体颜色.本文将分为两部分分别介绍如何实现此操作.以下 ...
- 为Jekyll静态网站添加PlantUML插件
前言 突然想起来要好好整理一下自己的博客空间,已经荒废很多年,如果再不捡起来,等到自己知识老化的时候再去写东西就没人看了. 使用Github Pages + Jekyll把博客发布为静态网站,给人感觉 ...
- 0x05_My-OS显示字符串和任意参数
先看看效果: 要解决两个问题,第一个如何显示字符串,printf?我之前已经说了所有的头文件都要自己写,printf是stdio里的可是我们没有stdio 我们要通过画像素点的方式显示字符串,有点像我 ...
- 【GDKOI 2021提高组DAY2】抄写
\(\text{Solution}\) \(dp\) 翻折就只需预处理回文中心 \(Manacher\) 预处理即可 \(Code\) #include<cstdio> #include& ...
- Spark系列 - (3) Spark SQL
3. Spark SQL 3.1 Hive.Shark和Sparksql Hive:Hadoop刚开始出来的时候,使用的是hadoop自带的分布式计算系统 MapReduce,但是MapReduce的 ...
- .net 下SSE使用demo
所谓SSE,就是浏览器向服务器发送一个HTTP请求,然后服务器不断单向地向浏览器推送"信息"(message).这种信息在格式上很简单,就是"信息"加上前缀&q ...
- ATC:一个能将主流开源框架模型转换为昇腾模型的神奇工具
摘要:本文介绍了昇腾CANN提供的模型转换工具ATC,介绍了其功能.架构,并以具体样例介绍了该工具的基本使用方法以及常用设置. 本文分享自华为云社区<使用ATC工具将主流开源框架模型转换为昇腾模 ...
- 一文搞懂│http 和 https 的通信过程及区别
目录 两者的区别 HTTP的通信过程 HTTPS的通信过程 两者的区别 端口: http 端口号是80,https 端口号是443 传输协议: http 是超文本传输协议,属于明文传输:https 是 ...
- Android 数据回显
public class EchoDataUtils { /** * 保存文件到手机内存 * @param context * @param number * @param psw * @return ...