SpringBoot整合MyBatis插件PageHelper

效果

在这里插入图片描述

Pom
<!-- PageHelper -->
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.2.5</version>
</dependency>
Propertis
pagehelper.helper-dialect=mysql
pagehelper.params-count=countSql
pagehelper.reasonable=true
pagehelper.support-methods-arguments=true
Controller
	@RequestMapping("/toNews")
	public String toNews(@RequestParam(value = "pageNum",defaultValue = "1") Integer pageNum,Model model) {
		Page<Object> page = PageHelper.startPage(pageNum, 4);
		List<News> news = newsService.findLatestNews();
		model.addAttribute("news",news);
		model.addAttribute("page",page);
		if (page.getPageNum()>3) {
			int st=0;
			if (page.getPageNum()>=page.getPages()) {
				st=page.getPageNum()-2;
				model.addAttribute("st",st);
			}else if (page.getPageNum()+1>=page.getPages()) {
				st=page.getPageNum()-1;
				model.addAttribute("st",st);
			}else if (page.getPageNum()+2>=page.getPages()) {
				st=page.getPageNum();
				model.addAttribute("st",st);
			}
		}else if (page.getPageNum()<=3) {
			int st=1;
			model.addAttribute("st",st);
		}
		
		System.out.println(page);
		List<News> leftNews = new ArrayList<News>();
		List<News> rightNews = new ArrayList<News>();
		int i=0;
		for(i=0;i<(news.size()/2);i++) {
			leftNews.add(news.get(i));
		}
		for(int j=i;j<news.size();j++) {
			rightNews.add(news.get(j));
		}
		model.addAttribute("rightNews",leftNews);
		model.addAttribute("leftNews",rightNews);
		return "news";
	}
Html
<nav class="pagination-wrap" aria-label="Page navigation">
  <ul class="pagination">
    <li class="page-item page-item-control pre" th:if="${page.pageNum>1}"><a class="page-link link-svg" href="#" th:href="@{toNews(pageNum=${page.pageNum-1})}"aria-label="Previous">
        <svg width="8" height="12" viewBox="0 0 8 12" xmlns="http://www.w3.org/2000/svg">
          <path d="M6.29508 0L7.70508 1.41L3.12508 6L7.70508 10.59L6.29508 12L0.295078 6L6.29508 0Z"></path>
        </svg></a>
    </li>
    <input type="hidden" id="pageNum"value="${page.pageNum}"/>
    <input type="hidden" id="pages"value="${page.pages}"/>
    <input type="hidden" id="st"value="${st}"/>
    <li class="page-item"><a class="page-link" href="#" th:href="@{toNews(pageNum=${st})}" th:text="${st}">1</a></li>
    <li class="page-item" ><a class="page-link" href="#" th:href="@{toNews(pageNum=${st+1})}" th:text="${st+1}">2</a></li>
    <li class="page-item" ><a class="page-link" href="#" th:href="@{toNews(pageNum=${st+2})}" th:text="${st+2}">3</a></li>
    <li class="page-item"><span class="page-link page-link-dis">...</span></li>
    <li class="page-item pages"><a class="page-link" href="#" th:href="@{toNews(pageNum=${page.pages})}" th:text="${page.pages}">6</a></li>
    <li class="page-item page-item-control nxt" th:if="${st+2} le ${page.pages-1}"><a class="page-link link-svg" href="#"  th:href="@{toNews(pageNum=${page.pageNum+1})}" aria-label="Next">
        <svg width="8" height="12" viewBox="0 0 8 12" xmlns="http://www.w3.org/2000/svg">
          <path d="M1.70492 0L0.294922 1.41L4.87492 6L0.294922 10.59L1.70492 12L7.70492 6L1.70492 0Z"></path>
        </svg></a>
    </li>
  </ul>
</nav>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BirdMan98

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值