SSM项目中使用pageHelper插件
其他
2020-01-17 22:27:04
阅读次数: 0
SSM项目中使用PageHelper插件
- 在pom.xml中引入pageHelper依赖
<!--分页插件-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.2</version>
</dependency>
- 在mybatis配置文件SqlMapConfig.xml中添加如下配置
<!-- 引入 pageHelper插件 -->
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<!--reasonable:分页合理化参数,默认值为false。
当该参数设置为 true 时,pageNum<=0 时会查询第一页,
pageNum>pages(超过总数时),会查询最后一页。
默认false 时,直接根据参数进行查询。-->
<property name="reasonable" value="true"/>
</plugin>
</plugins>
- Mapper
@Select("SELECT * FROM `t_blog`")
List<Blog> findBlogs();
- Service层
public List<Blog> findAllBlogs(){
return blogMapper.findBlogs();
}
- Controller
@GetMapping("/")
public String toIndex(Model model,
@RequestParam(defaultValue = "1", required = true, value = "page") Integer page) {
Integer pageSize = 8;//每页显示记录数
//分页查询
PageHelper.startPage(page, pageSize);//page 起始页
List<Blog> blogList = blogService.findAllBlogs();
PageInfo<Blog> pageInfo = new PageInfo<>(blogList );
model.addAttribute("blogs", blogDtoList);
model.addAttribute("page", pageInfo);
return "index";
}
- index.htm
<!--blogs-->
<div class="ui attached segment">
<div class="ui padded vertical segment" th:each="blog:${blogs}">
..........
</div>
</div>
<!--分页按钮-->
<div class="ui bottom attached segment" th:if="${page.pages}>1">
<div class="ui middle aligned two column grid">
<div class="column">
<a href="#" th:href="@{/(page=${page.pageNum}-1)}" th:unless="${page.isFirstPage}"
class="ui mini grey basic button">上一页</a>
</div>
<div class="right aligned column">
<a href="#" th:href="@{/(page=${page.pageNum}+1)}" th:unless="${page.isLastPage}"
class="ui mini grey basic button">下一页</a>
</div>
</div>
</div>
- 附PageInfo详情
//当前页
private int pageNum;
//每页的数量
private int pageSize;
//当前页的数量
private int size;
//排序
private String orderBy;
//由于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 int nextPage;
//最后一页
private int lastPage;
//是否为第一页
private boolean isFirstPage = false;
//是否为最后一页
private boolean isLastPage = false;
//是否有前一页
private boolean hasPreviousPage = false;
//是否有下一页
private boolean hasNextPage = false;
//导航页码数
private int navigatePages;
//所有导航页号
private int[] navigatepageNums;
发布了24 篇原创文章 ·
获赞 2 ·
访问量 439
转载自blog.csdn.net/qq_42107430/article/details/103309220