controller:

/**
 * 分页查询用户
 * @param request
 * @param response
 * @return
 * @throws Exception
 */
@RequestMapping(value="/queryList",method=RequestMethod.GET)
public String query(HttpServletRequest request,
HttpServletResponse response, 
@RequestParam(defaultValue = "1") Integer pageNum, 
@RequestParam(defaultValue = "5") Integer pageSize) throws Exception{
PageHelper.startPage(pageNum, pageSize);
List<SecUser> list =service.queryByList();
PageInfo<SecUser> pageInfo = new PageInfo<SecUser>(list);

//获得当前页
request.setAttribute("pageNum", pageInfo.getPageNum());
        //获得一页显示的条数
request.setAttribute("pageSize", pageInfo.getPageSize());
        //是否是第一页
request.setAttribute("isFirstPage", pageInfo.isIsFirstPage());
        //获得总页数
request.setAttribute("totalPages", pageInfo.getPages());
        //是否是最后一页
request.setAttribute("isLastPage", pageInfo.isIsLastPage());
//所有导航页号
request.setAttribute("naviPageNums", pageInfo.getNavigatepageNums());

request.setAttribute("list", list);
return "user/list";
}

service:

public List<SecUser> queryByList(){
return dao.queryByList();
}

dao:

public List<SecUser> queryByList();

mapper:

<select id="queryByList" resultMap="userMap" >
select 
id,
<include refid="requiredColumn" />
from 
userbase
where 
1=1
</select>

页面:

<div>
            <ul class="pagination">
                <!-- <li><a href="">&laquo;</a></li> -->
                <li>
                    <a  th:href="@{${'/user/queryList'}(pageNum=1,pageSize=${pageSize})}">首页</a>
                </li>

<li>
                    <a th:if="${not isFirstPage}" th:href="@{${'/user/queryList'}(pageNum=${pageNum-1},pageSize=${pageSize})}">上一页</a>
                    <a th:if="${isFirstPage}" href="javascript:void(0);">上一页</a>
                </li>

<li th:each="pageNo : ${naviPageNums}">
                    <a th:if="${pageNum eq pageNo}" href="javascript:void(0);">
                         <span th:text="${pageNo}"></span>
                    </a>

<a th:if="${not (pageNum eq pageNo)}" th:href="@{${'/user/queryList'}(pageNum=${pageNo},pageSize=${pageSize})}">
                        <span th:text="${pageNo}"></span>
                    </a>
                </li>
                <li>
                        <a th:if="${not isLastPage}" th:href="@{${'/user/queryList'}(pageNum=${pageNum+1},pageSize=${pageSize})}">下一页</a>
                        <a th:if="${isLastPage}" href="javascript:void(0);">下一页</a>
                 </li>
                 
                 <li>
                        <a  th:href="@{${'/user/queryList'}(pageNum=${totalPages},pageSize=${pageSize})}">尾页</a>
                 </li>

<!-- <li><a href="#">&raquo;</a></li> -->
            </ul>
        </div>

spring boot +Thymeleaf+mybatis 集成通用PageHelper,做分页的更多相关文章

  1. Spring boot+Thymeleaf+easyui集成:js创建组件页面报错

    开发工具:Ideal 使用场景:Demo 前提:       环境:Spring boot +Thymeleaf+easyui 引入thymeleaf模板引擎 <html lang=" ...

  2. spring boot 和 mybatis集成

    1.pom.xml 添加mybatis和mysql依赖 <!-- 添加 MyBatis --> <dependency> <groupId>org.mybatis. ...

  3. Spring boot 配置 mybatis xml和动态SQL 分页配置

    更新时间 2018年4月30日23:27:07 1.pom.xml <?xml version="1.0" encoding="UTF-8"?> & ...

  4. spring boot 1.4.2.RELEASE+Thymeleaf+mybatis 集成通用maper,与分页插件:

    <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot ...

  5. spring boot和mybatis集成分页插件

    MyBatis提供了拦截器接口,我们可以实现自己的拦截器,将其作为一个plugin装入到SqlSessionFactory中. 首先要说的是,Spring在依赖注入bean的时候,会把所有实现MyBa ...

  6. spring boot集成mybatis(2) - 使用pagehelper实现分页

    Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...

  7. Spring Boot 数据访问集成 MyBatis 与事物配置

    对于软件系统而言,持久化数据到数据库是至关重要的一部分.在 Java 领域,有很多的实现了数据持久化层的工具和框架(ORM).ORM 框架的本质是简化编程中操作数据库的繁琐性,比如可以根据对象生成 S ...

  8. 9、Spring Boot 2.x 集成 Thymeleaf

    1.9 Spring Boot 2.x 集成 Thymeleaf 完整源码: Spring-Boot-Demos 1.9.1 在pom中引入依赖 <dependency> <grou ...

  9. 6、Spring Boot 2.x 集成 MyBatis

    1.6 Spring Boot 2.x 集成 MyBatis 简介 详细介绍如何在Spring Boot中整合MyBatis,并通过注解方式实现映射. 完整源码: 1.6.1 创建 spring-bo ...

随机推荐

  1. jackson2.x与Jackson1.9的比较

    Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json.xml转换成Java对象.Jackson库于2012.10.8号发布了最新的2.1版.Jackson源码目前 ...

  2. Qt opencv开发环境

    在.pro文件中添加 INCLUDEPATH += C:\opencv\build\include\ #头文件路径 C:\opencv\build\include\opencv\ C:\opencv\ ...

  3. opencv 美白磨皮人脸检测<转>

    1. 简介 这学期的计算机视觉课,我们组的课程项目为“照片自动美化”,其中我负责的模块为人脸检测与自动磨皮.功能为:用户上传一张照片,自动检测并定位出照片中的人脸,将照片中所有的人脸进行“磨皮”处理, ...

  4. Hive UDF开发 第一个例子

    package udf; import org.apache.hadoop.hive.ql.exec.UDF; public class helloudf extends UDF{ public St ...

  5. Decorator模式 装饰器模式

    Android 使用了装饰器模式 1. 概述 若你从事过面向对象开发,实现给一个类或对象增加行为,使用继承机制,这是所有面向对象语言的一个基本特性.如果已经存在的一个类缺少某些方法,或者须要给方法添加 ...

  6. springmvc 注解式开发 处理器方法的返回值

    1.返回void -Ajax请求 后台: 前台: 返回object中的数值型: 返回object中的字符串型: 返回object中的自定义类型对象: 返回object中的list: 返回object中 ...

  7. UIScrollView现实循环滚动

    #import "RootViewController.h" #define width [UIScreen mainScreen].bounds.size.width #defi ...

  8. Luogu 3267 [JLOI2016/SHOI2016]侦察守卫

    以后要记得复习鸭 BZOJ 4557 大佬的博客 状态十分好想,设$f_{x, i}$表示以覆盖完$x$为根的子树后还能向上覆盖$i$层的最小代价,$g_{x, i}$表示以$x$为根的子树下深度为$ ...

  9. kaggle Pipelines

    # Most scikit-learn objects are either transformers or models. # Transformers are for pre-processing ...

  10. super-smack

    我有个办法,不过不是用LR,是用super-smack,如果只对数据库进行抗压力测试,应该管用.Super-smack 现在是1.3版,源码下载地址如下:http://vegan.net/tony/s ...