------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------

本篇博客讲述如何在SpringBoot中整合PageHelper,如何实现带多个条件,以及PageInfo中的属性的中文解释(翻译)

一,jar包

        <!-- 分页插件 --><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.2.3</version></dependency>

二,注册Configuration插件

package cn.dawn.util;/*** Created by Dawn on 2018/6/24.*/
import java.util.Properties;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;import com.github.pagehelper.PageHelper;/** 注册MyBatis分页插件PageHelper*/@Configuration
public class MybatisConf {@Beanpublic PageHelper pageHelper() {System.out.println("MyBatisConfiguration.pageHelper()");PageHelper pageHelper = new PageHelper();Properties p = new Properties();p.setProperty("offsetAsPageNum", "true");p.setProperty("rowBoundsWithCount", "true");p.setProperty("reasonable", "true");pageHelper.setProperties(p);return pageHelper;}
}

三,dao层接口

package cn.dawn.mapper;import cn.dawn.entity.Sys_noteDetail;import java.util.List;
import java.util.Map;/*** Created by Dawn on 2018/4/16.*/
public interface INoteDAO {/*笔记分页查询*/public List<Sys_noteDetail> getOnePagenoteData(Map<String, Object> map) throws Exception;}

  做带条件分页最好是Map,因为特别容易整合智能标签,它的多条件就是Map传进来的

四,dao层xml配置

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper  namespace="cn.dawn.mapper.INoteDAO"><!--分页查询--><select id="getOnePagenoteData" resultType="cn.dawn.entity.Sys_noteDetail">SELECT * FROM sys_notedetail<where><if test="dname!= null and dname!=''">AND dname LIKE  '%' #{dname} '%'</if><if test="startdate!= null and startdate!=''">AND dentrytime&gt;=#{startdate}</if><if test="enddate!= null and enddate!=''">AND dentrytime&lt;=#{enddate}</if></where></select></mapper>

五,调用PageHelper,真正使用它

package cn.dawn.service.impl;import cn.dawn.entity.Sys_noteDetail;
import cn.dawn.mapper.INoteDAO;
import cn.dawn.service.INoteService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;import javax.annotation.Resource;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;/*** Created by Dawn on 2018/4/16.*/
@Service("noteServiceImpl")
public class NoteServiceImpl implements INoteService{@Resource(name = "INoteDAO")private INoteDAO iNoteDAO;public PageInfo<Sys_noteDetail> getOnePagenoteData(Integer pageIndex, Integer pageSize, String dname, Date startdate, Date enddate) throws Exception {/*创建分页工具类*/PageHelper.startPage(pageIndex, pageSize);Map<String,Object> map=new HashMap<String,Object>();map.put("dname",dname);map.put("startdate",startdate);map.put("enddate",enddate);List<Sys_noteDetail> docs = iNoteDAO.getOnePagenoteData(map);PageInfo<Sys_noteDetail> pageInfo = new PageInfo<>(docs);return pageInfo;}}

六,讲述一下PageInfo,方便调用

    //当前页  private int pageNum;  //每页的数量  private int pageSize;  //当前页的数量  private int size;  //由于startRow和endRow不常用,这里说个具体的用法  //可以在页面中"显示startRow到endRow 共size条数据"  //当前页面第一个元素在数据库中的行号  private int startRow;  //当前页面最后一个元素在数据库中的行号  private int endRow;  //总记录数  private long total;  //总页数  private int pages;  //结果集  private List<T> list;  //第一页  private int firstPage;  //前一页  private int prePage;  //是否为第一页  private boolean isFirstPage = false;  //是否为最后一页  private boolean isLastPage = false;  //是否有前一页  private boolean hasPreviousPage = false;  //是否有下一页  private boolean hasNextPage = false;  //导航页码数  private int navigatePages;  //所有导航页号  private int[] navigatepageNums;  

 

作者:晨曦Dawn

如果上方博客有错误,或者疑惑,请指出,感激不尽!!!!!!!!!!!!!!!!

SpringBoot-07:SpringBoot整合PageHelper做多条件分页查询相关推荐

  1. springboot+thymeleaf+pageHelper带条件分页查询

    html层 <div><a class="num"><b th:text="'共 '+ ${result.resultMap['pages' ...

  2. SpringBoot Mybatis解决使用PageHelper一对多分页问题

    SpringBoot Mybatis解决使用PageHelper一对多分页问题 参考文章: (1)SpringBoot Mybatis解决使用PageHelper一对多分页问题 (2)https:// ...

  3. springboot集成mybatis-plus分页查询+条件分页查询

    如题: mybatis-plus整合了很多我们无需重复操作的功能,直接使用即可,下面举出两个分页的例子. 1.默认无条件分页查询 public abstract IService<T> g ...

  4. SSM整合 - 多条件分页查询

    多条件分页查询 - PageHelper 目录 多条件分页查询 - PageHelper 1. Maven配置插件 2. 准备数据库信息 3. 准备实体类 4. 封装结果类 5. 封装查询类 6. 在 ...

  5. SpringBoot 整合【Mybatis-Plus实现分页查询】

    目录 1. 添加pom.xml依赖 2. 配置application.yml文件 3. mybatis-plus插件配置核心类 4. 启动类配置 5. 测试数据Sql脚本 6. mybatis-plu ...

  6. java easyui条件组合查询_EasyUi+Spring Data 实现按条件分页查询

    Spring data 介绍 Spring data 出现目的 为了简化.统一 持久层 各种实现技术 API ,所以 spring data 提供一套标准 API 和 不同持久层整合技术实现 . 自己 ...

  7. laravel 5.5 顶部带条件分页查询

    一.前言 这个问题也是老生常谈了.顶部搜索好做,分页也好做,但是带着条件分页就不太好做.也是博主自己看文档不仔细.后面仔细看文档,发现了laravel 5.5 本身就提供了这样一个方法. 文档位置:L ...

  8. JPA分页查询与条件分页查询

    情有独钟的JPA 平时在写一些小项目时,比较喜欢引用 Spring Data Jpa,其实还是图他写代码快~ 在日常的开发工作中,分页列表查询基本是随处可见,下面一起看一下如何使用 jpa 进行多条件 ...

  9. 分页条件查询_mongodb多条件分页查询的三种方法

    自我推荐 一.使用limit和skip进行分页查询 public List<User> pageList(int pageNum ,int pageSize){List<User&g ...

最新文章

  1. 【扫盲】什么是FTP、FTPS 和 SFTP?
  2. 【Linux】sudo用户权限管理
  3. Chrome的一点小问题
  4. Windows Phone本地数据库(SQLCE):3、[table]attribute(翻译) (转)
  5. 全面认识UML-类图元素(java)
  6. C#与Java之比较
  7. 将Python和R整合进一个数据分析流程
  8. ** 安装好的Apache服务器不能在本地计算机启动
  9. windows server 2012无法安装NET.framework3.5解决方法
  10. MariaDB修改端口号
  11. 2021数模美赛LaTeX+Word论文模板更新!
  12. 某知名网络安全公司的渗透测试工程师面试题实战汇总
  13. System.arraycopy()方法详解-jdk1.8
  14. python 公开课_python公开课|可以用Python做的十件事,刚开始学python,你一定要知道...
  15. 【某网页在手机上可以打开,但用电脑上所有浏览器都打不开】的解决办法
  16. 基于JAVA城市道路智能停车管理系统计算机毕业设计源码+系统+lw文档+部署
  17. SpringCloud-4.服务网关(GateWay)
  18. flink+mysql+connector_Flink SQL中connector的定义和实现
  19. codeforces 有意思的思维题 1 ~ 15
  20. 调用百度人体属性检测api进行人员预标注

热门文章

  1. Xcode怎样调整模拟器大小
  2. Java-eclipse快捷键及设置
  3. MyEclipse的Debug模式
  4. 赛门铁克运维注意事项
  5. 根据/proc/meminfo对空闲内存进行占用
  6. 蓝桥杯第六届国赛JAVA真题----密文搜索
  7. 有用的 Google Analytics Chrome 插件推荐
  8. python 安卓模拟器电脑版_【夜神安卓模拟器电脑版】夜神安卓模拟器电脑版 V6.6.0.6免费版官方免费下载_正式版下载-多特软件站...
  9. 魔兽8.0玩家最多服务器,魔兽世界8.0一上线玩家就挤爆服务器!然而暴雪还藏2个大招在后面...
  10. Puppeteer保存html,PuppeteerSharp读取页面完整HTML(.NetCore)