美文网首页
快速分页查询分页2018

快速分页查询分页2018

作者: 俊兮 | 来源:发表于2019-03-31 21:26 被阅读0次

(一) 封装一个bean方法

package com.seecen.ssm.pojo;

import java.util.List;

/**

* Author: CalcYu

* Date: 2018/5/18

*/

public class Page<A> {

    /**

    * 传递查询条件

    */

    private A condition;

    public A getCondition() {

        return condition;

    }

    public void setCondition(A condition) {

        this.condition = condition;

    }

    private List<A> list;

    public List<A> getList() {

        return list;

    }

    public void setList(List<A> list) {

        this.list = list;

    }

    /**

    * 某张表的总记录数

    */

    private Integer total;

    /**

    * 当前页数

    */

    private Integer currentPage = 1;

    /**

    * 每页显示多少条记录

    */

    private Integer pageSize = 10;

    /**

    * SQL分页的开始位置

    *

    * @return

    */

    public Integer getStart() {

        return (currentPage - 1) * pageSize;

    }

    /**

    * SQL分页的结束位置

    *

    * @return

    */

    public Integer getEnd() {

        return currentPage * pageSize;

    }

    public Integer getTotalPage() {

        return (int) Math.ceil(total * 1.0 / pageSize);

    }

    public Integer getTotal() {

        return total;

    }

    public void setTotal(Integer total) {

        this.total = total;

    }

    public Integer getCurrentPage() {

        return currentPage;

    }

    public void setCurrentPage(Integer currentPage) {

        this.currentPage = currentPage;

    }

    public Integer getPageSize() {

        return pageSize;

    }

    public void setPageSize(Integer pageSize) {

        this.pageSize = pageSize;

    }

}

(二)Service

/**

    * 创建一个订单

    * @return

    */

    public boolean addOrder(Order order);

    /**

    * 订单表的分页查询

    * @param page

    * @return

    */

    public Page findOrdersByPage(Page page);

《*》ServiceImpl

@Autowired

    private OrderMapper orderMapper;

    public boolean addOrder(Order order) {

        return orderMapper.insert(order) > 0;

    }

    public Page findOrdersByPage(Page page) {

        if(page!=null){

            page.setList(orderMapper.selectByExample(null));

            page.setTotal(orderMapper.countByExample(null));

            return page;

        }

        return null;

    }

(三)Controller

@RequestMapping("/list")

    public String list(Integer currentPage,Tclass tclass, Model model){

        Page<Tclass> page = new Page<Tclass>();

        if (currentPage!=null){

            page.setCurrentPage(currentPage);

        }

        if (tclass!=null){

            page.setCondition(tclass);

        }

        List<Tclass> list = tclassService.findByClassId();

        page = tclassService.findTclassByPage(page);

        model.addAttribute("l",list);

        model.addAttribute("p",page);

        return "classfond/list";

    }

//或者

@RequestMapping("")

    public String list(Model model) {

        Page<Order> page = new Page();

        page = orderService.findOrdersByPage(page);

        model.addAttribute("p", page);

        return "order/list";

    }

(四)jsp页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<html>

<head>

    <title>Title</title>

    <script src="/js/jquery-3.3.1.min.js"></script>

</head>

<body>

<div>

    <input id="crtPage" type="hidden" name="currentPage">

    <script>

        function go(currentPage) {

            $("#crtPage").val(currentPage);

            $("form").submit();

        }

    </script>

    <c:if test="${p.currentPage>1}">

        <a href="javascript:go(1)">首&nbsp;页</a>

        <a href="javascript:go(${p.currentPage-1})">上一页</a>

    </c:if>

    <c:if test="${p.currentPage==1}">

        <a href="javascript:void(0)" style="color: #666666">首&nbsp;页</a>

        <a href="javascript:void(0)"  style="color: #666666">上一页</a>

    </c:if>

    [${p.currentPage}/${p.totalPage}]

    <c:if test="${p.currentPage<p.totalPage}">

        <a href="javascript:go(${p.currentPage+1})">下一页</a>

        <a href="javascript:go(${p.totalPage})">末&nbsp;页</a>

    </c:if>

    <c:if test="${p.currentPage==p.totalPage}">

        <a href="javascript:void(0)" style="color: #666666">下一页</a>

        <a href="javascript:void(0)" style="color: #666666">末&nbsp;页</a>

    </c:if>

</div>

</body>

</html>

(HTML页面)

</tbody>

<!-- ajaxjieshu -->

<tfoot>

<tr>

<td colspan="5"><div onclick="daiban(1)" class="leftdiv">首页</div>

<div class="leftdiv" >上一页</div>

<div class="leftdiv"

onclick="daiban(parseInt($('#pageIndex').html())+1>parseInt($('#pageCount').html())?parseInt($('#pageCount').html()):parseInt($('#pageIndex').html())+1)">下一页</div>

<div class="leftdiv"

onclick="daiban(parseInt($('#pageCount').html()))">尾页</div>

当前第<font color="red" id="pageIndex">1</font>页/共<font

id="pageCount" color="red">0</font>页</td>

</tr>

</tfoot>

</table>

相关文章

网友评论

      本文标题:快速分页查询分页2018

      本文链接:https://www.haomeiwen.com/subject/urzubqtx.html