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 获取年月日时分秒 获取当前时间 datetime函数
import datetime#取当前时间print(datetime.datetime.now())#取年print(datetime.datetime.now().year)#取月print(da ...
- Java标识符&关键字
1. 标识符&关键字 [标识符]: Java 对各种变量.方法和类等要素命名时使用的字符序列称为标识符. 凡是自己可以起名字的地方都叫标识符 命名规则:(一定要遵守,不遵守就会报编译的错误) ...
- python pillow模块用法
pillow Pillow是PIL的一个派生分支,但如今已经发展成为比PIL本身更具活力的图像处理库.pillow可以说已经取代了PIL,将其封装成python的库(pip即可安装),且支持pytho ...
- GDI+在Delphi程序的应用 Photoshop色相饱和度明度功能
本文用GDI+实现Photoshop色相/饱和度/明度功能,参照我的其它有关GDI+在 Delphi程序的应用的文章,代码也可供TBitmap使用. 有些人不喜欢,或者不太懂Delphi的BASM代码 ...
- ionic:创建 APP
ylbtech-ionic:创建 APP 1.返回顶部 1. ionic 创建 APP 前面的章节中我们已经学会了 ionic 框架如何导入到项目中. 接下来我们将为大家介绍如何创建一个 ionic ...
- jquery scrollTop() 方法
原文地址:http://www.w3school.com.cn/jquery/css_scrolltop.asp 实例 设置 元素中滚动条的垂直偏移: $(".btn1").cli ...
- jQuery 基本选择器
1 基本选择器 $(‘#id属性值’) ----------->document.getElementById() $(‘tag标签名称’)----------->document.ge ...
- css3 常用的属性
1.伪类选择符 Pseudo-Classes Selectors Selectors选择符 CSS Version版本 Description简介 E:link CSS1 设置超链接a在未被访问前的样 ...
- 《DSP using MATLAB》Problem 9.4
只放第1小题. 代码: %% ------------------------------------------------------------------------ %% Output In ...
- HTTP协议:响应消息
一.请求消息:客户端发送给服务器端的数据 数据格式: 1.请求行 2.请求头 3.请求空行 4.请求体 二.响应消息:服务器端发送给客户的数据 数据格式: 1.响应行: 1.组成:协议/版本 响应状态 ...