MybatisPlus联合分页查询
跟单表分页查询差不多
1.编写查询语句
public interface QuestionMapper extends BaseMapper<Question> {
@Select("SELECT * FROM question,result WHERE question_id=result_id ")
List<QuestionResultPagingVo> getQuestionResultPage(Page page);
}
2.编写service
@Service
public class QuestionServiceImpl implements QuestionService {
@Resource
private QuestionMapper questionMapper; /**
* public Page<T> setRecords(List<T> records) {
* this.records = records;
* return this;
* }
* records包含查询数据列表,setRecords返回一个简单分页模型
* questionMapper.getQuestionResultPage(page)返回一个查询分页查询数据,
* 如果Page<QuestionResultPagingVo> pages = new Page<>(1,2);
* 那么questionMapper.getQuestionResultPage(pages)就会以一页2个元素大小,返回第一页的数据。
* 使用page.setRecords主要是为了使用Page.getTotal()获取共有多少页这个属性
*
* @param page
* @return
*/
@Override
public Page<QuestionResultPagingVo> getQuestionResultPage(Page<QuestionResultPagingVo> page) {
return page.setRecords(questionMapper.getQuestionResultPage(page));
}
}
本质上是使用MybatisPlus提供的分页插件Page完成的
其实Page<QuestionResultPagingVo> pages = new Page<>(1,2);后再执行questionMapper.getQuestionResultPage(pages);
然后同样可以使用pages.getTotal()获取总条数,Page是个很灵活好用的东西,不用用死了,看看源码分析分析方法
3.controller调用
@RequestMapping("/questionResult/page")
@ResponseBody
public Map<String, Object> resultPage(
@RequestParam(defaultValue = "1") Integer page,
@RequestParam(defaultValue = "5")Integer limit) { Map<String, Object> map = new LinkedHashMap<>(); Page<QuestionResultPagingVo> pages = new Page<>(page,limit); Page<QuestionResultPagingVo> resultPage = questionService.getQuestionResultPage(pages);
if (resultPage.getRecords().size() == 0) {
map.put("code", 400);
} else {
map.put("code", 0);
map.put("msg", "");
map.put("count", resultPage.getTotal());
map.put("data", resultPage.getRecords());
}
return map;
}
附上demo
其实这是个问卷的结果统计,用了layui的分页,还有echarts的图表
源码在github
MybatisPlus联合分页查询的更多相关文章
- .net通用CMS快速开发框架——问题1:Dapper通用的多表联合分页查询怎么破?
最近在弄一个东东,类似那种CMS的后台管理系统,方便作为其它项目的初始化框架用的. 现在遇到个问题,如标题所示:Dapper通用的多表联合分页查询怎么破? 难道只能通过拼接sql或者使用存储过程吗?我 ...
- JEECG(三) JEECG minidao如何封装自己的 多表联合查询 分页查询
JEECG确实是一款实实在在的促进生产力的工具好处我想看到此文章的人应该都有所体会了 言归正传 JEECG框架自带的查询确实很省事,但是多表联合查询 分页查询 是我们开发业务系统当中不可避免的这时框架 ...
- Mybatis-plus之RowBounds实现分页查询
物理分页和逻辑分页 物理分页:直接从数据库中拿出我们需要的数据,例如在Mysql中使用limit. 逻辑分页:从数据库中拿出所有符合要求的数据,然后再从这些数据中拿到我们需要的分页数据. 优缺点 物理 ...
- Mybatis-plus多表关联查询,多表分页查询
学习plus真的觉得写代码真的越来越舒服了.昨天开始接触吧,只要学会了多表关联查询.plus就能随意搭配使用了. 关于怎么搭建的就自行了去研究了哦.这里直接进入主题. 我用的是springboot+m ...
- Mysql--子查询、分页查询、联合查询
一. 子查询的定义 出现在其他语句中的select语句,称为子查询或者内查询,外部的查询语句称为主查询或者外查询,子查询可以包含普通select可以包含的任何语句. 外部查询:select.inser ...
- mybatis-plus分页查询
在springboot中整合mybatis-plus 按照官方文档进行的配置:快速开始|mybatis-plus 引入依赖: <!-- 引入mybatisPlus --> <depe ...
- (五)连接查询(SQL99标准)、子查询、分页查询、联合查询
一.连接查询(SQL99标准) 1.含义:当要查询的数据来自多张表时要使用连接查询 2.语法: select 查询列表 from 表1 别名 [连接类型] join 表2 别名 on 连接条件 [wh ...
- 小书MybatisPlus第4篇-表格分页与下拉分页查询
本文为mybatis系列文档的第4篇,前三篇请访问下面的网址. 小书MybatisPlus第1篇-整合SpringBoot快速开始增删改查 小书MybatisPlus第2篇-条件构造器的应用及总结 小 ...
- MyBatisPlus分页查询,删除操作
分页查询 分页查询在网页使用十分之多 原始的limit进行分页 pageHelper第三方插件 3. MP内置的分页插件 导入配置 如何使用,官网的代码如下 //分页插件 @Bean public P ...
随机推荐
- python 模拟按键模拟键盘按键按下放开
python模拟按键 pip install pypiwin32安装库 import win32conimport win32apiimport time 导入 打个比方模拟A win32api.ke ...
- natapp自动获取免费的动态端口域名
前段时间,因为客户有个项目要求跨局域网进行远程控制桌面,想知道能不能实现.于是查询了许多资料,了解到需要有公网服务器作为中介才能够实现,但是公司又没有公网服务器,于是只有利用花生壳.natapp服务器 ...
- shell设置时间递减脚本
经常要用shell来做时间的定时任务,尤其是用sqoop脚本拉取数据的时候,那么假如当你要导入数据是残缺的时候呢,我写了一个能自定义时间并逐条递减的程序 #!/bin/bash . /etc/pr ...
- Linux下rsync的安装及简单使用
2018-09-25 15:39:04 一.RSYNC安装环境: centos6.5 iptables关闭和selinux为disabled 源码安装:到rsync官网下载rsync源码安装包,上传到 ...
- 剑指offer——01数组中重复的数字
题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个重复的数字. 例如,如果输入长度为 ...
- java进行微信h5支付开发
最近在做微信支付开发用的框架是 srpingMVC mybatis spring 下面是开发流程图 我们只需要开发红色标记的模块就可以了. 具体参数详情可以查看微信开发者文档. 新手第一次写,写的不好 ...
- java.lang.NoSuchMethodError: com.google.common.hash.HashFunction.hashInt(I)Lcom/google/common/hash/HashCode; 解决办法
今天在java 上运行spark查询的时候出现一个问题: java.lang.NoSuchMethodError: com.google.common.hash.HashFunction.hashIn ...
- Linux CPU负载状态:%us/%sy/%ni/%id/%wa/%hi/%si/%st含义
原文 Linux CPU负载状态:%us/%sy/%ni/%id/%wa/%hi/%si/%st含义 缙哥哥发现用了雅黑的探针,在 Linux 的 CPU 状态信息中发现,有“%us.%sy.%ni. ...
- 《数据结构与算法分析——C语言描述》ADT实现(NO.02) : 队列(Queue)
第三个结构——队列(Queue) 队列与上次的栈相反,是一种先进先出(FIFO)的线性表.写入时只暴露尾部,读取时只暴露头部. 本次只实现了数组形式的队列.原因是链表形式的队列极为简单,只需要实现简单 ...
- spring MVC 转发与重定向(传参)
return "forward:index.jsp"; //转发 return "forward:user.do?method=reg5"; //转发 ret ...