转自:https://segmentfault.com/a/1190000015668715?utm_medium=referral&utm_source=tuicool

最近自己搭建一个spring-boot 的项目听说最近很是流行,之前在一件公司用的觉得挺不错.所以自己配置一下学习学习.结果做到分页的时候看到了pagehelper 貌似是个很牛的插件所以用来学习一下,结果两天都没怎么弄明白,网上查了好多资料.但好像没有看到代码很全的,让我这个小白彻底看懂的(自己愚笨) ,所以今天终于成功了. 特地写出来争取写的详细一点 ,照着做就能一下成功的.供给和我一样还在茫然的伙伴提示一下,给自己也提个醒.写的不好还请各路英雄豪杰多多指教

废话不多说
工具:eclipse jdk 1.7 
环境: windows 7 tomcat 7.0
然后, spring-boot + mybatis +thymeleaf +maven,数据库mysql

首先pom.xml 的pagehelper 引入 我这里用的是 4.1.0的版本 现在最新的应该是5.1.4 而且会有一些差异 jsqlparser 也需要一同引入 4.1.0及以后版本需要0.9.4版本 以下 0.9.1版

pom.xml

然后我的配置文件的路径结构 config 文件夹下是 spring-boot 的application 和mybatis 的配置xml,mapper 是mybatis 的mapper 查询语句文件 查询的sql 都写在对应的xml 里.static 下引入的css js等,templates 是thymeleaf的模板文件,也就是html

spring-boot 和mybatis的应用的配置 , spring和mybatis配置文件应用方式有好几种,我是用的application.yml和mybatis.xml 的配置方式 . 也有 application.properties和mybatis-config.xml的.

application.yml 配置mybatis 的mapper 路径和配置文件路径,不能写错,pagehelper 是可以不用写的 具体配置实在mybatis.xml 里面

mybatis.xml 这里面就是pagehelper 的配置 当然还有其他的属性

基本上配置类文件是这些 
接下来 
Controller 方法里我并没有传参数,实际应用中需要条件查询会传一些参数的,但是这里不用传输分页的任何参数 pagehelper .startPage (当前页,当前页记录) 就足以 是不是很简单.这个可以写在controller 里或者实现层里,我这几行代码也是网上粘的,但是忘记在哪个网站上粘的了.

service

serviceimpl

dao

bean

MenDao.xml sql的语句写在了这里.返回的是对象类型的集合

页面 因为我用的是thymeleaf模板引擎 就是 html.但功能很强大.

table表格

分页的代码我就直接粘出来吧
方便使用

<div class="container">
<div style="margin-top: 10px;">
<ul id="page" class="pagination">
<div class = "aad"> 当前第<span th:text="${pageInfo.pageNum} "></span>页.每页条数:<span th:text="${pageInfo.pageSize}"></span>
一共 <span th:text="${pageInfo.total}"></span> 条记录</div>
<li >
<a th:href="@{'/menu/getMenu?pageNum='+${pageInfo.firstPage}}" >首页</a>
</li>
<!--上一页-->
<li th:if="${pageInfo.hasPreviousPage}">
<a th:href="@{'/menu/getMenu?pageNum='+${pageInfo.prePage}}" >
<i class="fa fa-angle-left"></i>&nbsp;上一页
</a>
</li>
<!--循环遍历连续显示的页面,若是当前页就高亮显示,并且没有链接-->
<th:block th:each="nav : ${pageInfo.navigatepageNums}" >
<li th:class="${nav==pageInfo.pageNum}?'active':''" >
<a th:href="@{'/menu/getMenu?pageNum='+${nav}}"
th:text="${nav}"></a></li>
</th:block> <th:block th:if="${pageInfo.hasNextPage}">
<li>
<a th:href="@{'/menu/getMenu?pageNum='+${pageInfo.nextPage}}" > 下一页&nbsp;<i class="fa fa-angle-right"></i>
</a>
</li>
</th:block>
<li>
<a th:href="@{'/menu/getMenu?pageNum='+${pageInfo.lastPage}}">尾页</a>
</li>
</ul>
</div>
</div>

最终页面显示的样子,简单调了一下样式.

 
 基本上就这些了,之后我还要加上页面输入页码跳转的功能. 我也是刚开始学习这个东西很多也是在摸索中,高手略过,哈哈哈

spring-boot + mybatis +pagehelper 使用分页的更多相关文章

  1. Spring Boot+Mybatis+Pagehelper分页

    Spring Boot 集成MyBatis和Pagehelper分页插件 mybatis-spring-boot-starter依赖树如下: pom配置 <project xmlns=" ...

  2. Spring Boot + MyBatis + Pagehelper 配置多数据源

    前言: 本文为springboot结合mybatis配置多数据源,在项目当中很多情况是使用主从数据源来读写分离,还有就是操作多库,本文介绍如何一个项目同时使用2个数据源. 也希望大家带着思考去学习!博 ...

  3. spring boot 整合pagehelper分页插件

    Spring Boot 整合pagehelper分页插件 测试环境: spring boot  版本 2.0.0.M7 mybatis starter 版本  1.3.1 jdk 1.8 ------ ...

  4. Spring boot Mybatis 整合(完整版)

    个人开源项目 springboot+mybatis+thymeleaf+docker构建的个人站点开源项目(集成了个人主页.个人作品.个人博客) 朋友自制的springboot接口文档组件swagge ...

  5. 【转】spring boot mybatis 读取配置文件

    spring boot mybatis 配置整理 一.加载mybatis的配置 1.手写配置,写死在代码里 import java.io.IOException; import java.util.P ...

  6. Spring Boot + MyBatis + Druid + Redis + Thymeleaf 整合小结

    Spring Boot + MyBatis + Druid + Redis + Thymeleaf 整合小结 这两天闲着没事想利用**Spring Boot**加上阿里的开源数据连接池**Druid* ...

  7. 详解spring boot mybatis全注解化

    本文重点介绍spring boot mybatis 注解化的实例代码 1.pom.xml //引入mybatis <dependency> <groupId>org.mybat ...

  8. (45). Spring Boot MyBatis连接Mysql数据库【从零开始学Spring Boot】

    大家在开发的时候,会喜欢jdbcTemplate操作数据库,有喜欢JPA操作数据库的,有喜欢MyBatis操作数据库的,对于这些我个人觉得哪个使用顺手就使用哪个就好了,并没有一定要使用哪个,个人在实际 ...

  9. spring boot + mybatis + layui + shiro后台权限管理系统

    后台管理系统 版本更新 后续版本更新内容 链接入口: springboot + shiro之登录人数限制.登录判断重定向.session时间设置:https://blog.51cto.com/wyai ...

  10. spring boot+mybatis搭建项目

    一.创建spring boot项目 1.File->New->Project 2.选择 Spring Initializr ,然后选择默认的 url 点击[Next]: 3.修改项目信息 ...

随机推荐

  1. PHP mongodb 的使用

    mongodb 不用过多的介绍了,NOSQL的一种,是一个面向文档的数据库,以其方便灵活的数据结构,对于开发者来说是比较友好的,同时查询的速度也是比较快的,现在好多网站 开始使用mongodb ,具体 ...

  2. Linux安装python2.7、pip和setuptools

    一.说明 CentOS6.5自带python环境为2.6,公司的python环境为2.7. 为了避免出现以后代码出现版本差异,所以把自带的2 .6版本升级到了2.7,过程十分曲折.... 中途遇到的问 ...

  3. Java性能分析之线程栈详解与性能分析

    Java性能分析之线程栈详解 Java性能分析迈不过去的一个关键点是线程栈,新的性能班级也讲到了JVM这一块,所以本篇文章对线程栈进行基础知识普及以及如何对线程栈进行性能分析. 基本概念 线程堆栈也称 ...

  4. 笔记本设置 2K 显示屏 Intel HD Graphics 3000

    收了一台 32英寸的显示器,接到笔记 本只有 1920x1080,心想没得救了,要换笔记本才能用了. 在网上找了一圈,找到一篇说 Intel HD Graphics 3000 可以支持到 2560x1 ...

  5. 使用 mysqldump 备份时的一些参数

    因为还没有用到 ThinkPHP 的迁移组件,暂时使用 mysqldump 来备份,并版本控制. 有几个参数需要用到. --skip-dump-date 不要完成时间. --skip-extended ...

  6. [CLPR] 定位算法探幽 - 边缘和形态学

    一. 引言 如何从一副图片中找到车牌? 这是机器视觉的一个应用. 理所当然地, 思考的角度是从车牌本身的信息入手, 为了讨论方便, 下面均以长窄型蓝白车牌为例. 下图就是这样一张车牌的基本信息. 一眼 ...

  7. linux同一客户端多个git账号的配置

    有时候我们需要在同一台机器上使用多个git账号,为了避免冲突,我们需要配置~/.ssh/config文件. 步骤一:用ssh-keygen命令生成一组新的id_rsa_new和id_rsa_new.p ...

  8. bzoj 3674 可持久化并查集加强版——可持久化并查集

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3674 用主席树维护 fa[ ]  和 siz[ ] .改 fa[ ] 和改 siz[ ] 都 ...

  9. x86 openwrt虚拟路由代理上网

    一.代理服务器设置 1.下载代理软件CCProxy 6.8 Build 2.设置如下 二.x86 路由设置 1.在/etc目录下编辑profile http_proxy= https_proxy= f ...

  10. BASIC-9_蓝桥杯_特殊回文数

    示例代码: #include <stdio.h> int main(void){ int n = 0 ; scanf("%d",&n); int i = 0 ; ...