SSM 使用 PageHelper

本文导航

   1.页面

   2.Controller 

   3.service

   4.maven 依赖

1.页面: 默认请求 page:页面,页数  size:每页显示的数量

<a href="${pageContext.request.contextPath}/orders/findAll.do?page=1&size=6">首页</a>

1.1)首页,尾页上一页,下一页

pageInfo是ModelAndView中带回的数据

<div class="box-tools pull-right">
<ul class="pagination">
	<li><a href="${pageContext.request.contextPath}/orders/findAll.do?page=1&size=${pageInfo.pageSize}" aria-label="Previous">首页</a>
							</li>
	<li><a href="${pageContext.request.contextPath}/orders/findAll.do?page=${pageInfo.pageNum-1}&size=${pageInfo.pageSize}">上一页</a></li>

	<c:forEach begin="1" end="${pageInfo.pages}" var="pageNum">
		   <li><a href="${pageContext.request.contextPath}/orders/findAll.do?page=${pageNum}&size=${pageInfo.pageSize}">${pageNum}</a></li>
	</c:forEach>

	<li><a href="${pageContext.request.contextPath}/orders/findAll.do?page=${pageInfo.pageNum+1}&size=${pageInfo.pageSize}">下一页</a></li>
	<li><a href="${pageContext.request.contextPath}/orders/findAll.do?page=${pageInfo.pages}&size=${pageInfo.pageSize}" aria-label="Next">尾页</a>
	</li>
</ul>
</div>

2.Controller里面page,size,如果没值的话会自动设置默认值.PageInfo是PageHelper提供的bean里面封装总页数,总条数,

前一页,下一页,是否为最后一页,时候有前一页,等等很多信息.


import com.github.pagehelper.PageInfo;
import com.qy.ssm.domain.Orders;
import com.qy.ssm.service.IOrdersService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;

import java.util.List;

@Controller
@RequestMapping("/orders")
public class OrdersController {

    @Autowired
    private IOrdersService ordersService;

    @RequestMapping("/findAll.do")
    public ModelAndView findAll(@RequestParam(name = "page", required = true, defaultValue = "1") int page,
                                @RequestParam(name = "size", required = true, defaultValue = "4") int size) throws Exception {
        ModelAndView mv = new ModelAndView();
        List<Orders> ordersList = ordersService.findAllByPage(page, size);
        //PageInfo就是一个分页Bean
        PageInfo pageInfo=new PageInfo(ordersList);
        mv.addObject("pageInfo",pageInfo);
        mv.setViewName("orders-list");
        return mv;
    }
}

3.service

import com.github.pagehelper.PageHelper;
import com.qy.ssm.dao.IOrdersDao;
import com.qy.ssm.domain.Orders;
import com.qy.ssm.service.IOrdersService;
import com.qy.ssm.service.IProductService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;

@Service
@Transactional
public class IOrdersServiceImpl implements IOrdersService {

    @Autowired
    private IOrdersDao ordersDao;

    @Override
    public List<Orders> findAllByPage(Integer page, Integer pageSize) throws Exception {

        //参数pageNum是页码值,参数pageSize代表是每页显示条数
        PageHelper.startPage(page,pageSize);
        return ordersDao.findAll();
    }

4.maven依赖

<dependency>    
  <groupId>com.github.pagehelper</groupId>    
  <artifactId>pagehelper</artifactId>    
  <version>最新版本</version> 
</dependency>

猜你喜欢

转载自blog.csdn.net/weixin_37906108/article/details/89047353
今日推荐