分页小思路



分页工具类

package com.uplooking.club.base.util;

/**

* Created by admin on 2017/2/21.

*/

public class PageUtil {

    private Integer current_page;    //当前第几页

    private Integer starnum;         //起始页码

    private Integer page_number=4;  //每页几条

    private Integer countnum;        //总共几条

    private Integer countpag;        //总共几页

//limit的第一个参数使用公式

    public Integer getStarnum() {

if ( current_page ==null || current_page==1 ){

return 0;

}else{

return (current_page-1)*page_number;

        }
    }

    public void setStarnum(Integer starnum) {

this.starnum = starnum;

    }

    public Integer getCurrent_page() {

return current_page;

    }

    public void setCurrent_page(Integer current_page) {

this.current_page = current_page;

    }

    public Integer getPage_number() {

return page_number;

    }

    public void setPage_number(Integer page_number) {

this.page_number = page_number;

    }

    public Integer getCountnum() {

return countnum;

    }

    public void setCountnum(Integer countnum) {

this.countnum = countnum;

    }

//计算得到共有多少页

    public Integer getCountpag() {

if (countnum%page_number==0){

return countnum/page_number;

}else{

return countnum/page_number+1;

        }

    }

    public void setCountpag(Integer countpag) {

this.countpag = countpag;

    }
}

对象Mapper

public interface VipMapper {

int deleteByPrimaryKey(Integer id);

int insert(Vip record);

int insertSelective(Vip record);

Vip selectByPrimaryKey(Integer id);

int updateByPrimaryKeySelective(Vip record);

int updateByPrimaryKey(Vip record);

List<Vip> queryList();

List<Vip> param_List(PageUtil pageUtil); //分页式查询列表 select * from vip limit 0,10;

int selectCount(); //查询共有多少条数据 select count(*) from vip,速度比拿到List取size快很多

}

VipMapper.xml

<select id="selectCount" resultType="java.lang.Integer" >

select COUNT(*)

from vip

</select>

<select id="param_List" resultMap="BaseResultMap"
parameterType="com.uplooking.club.base.util.PageUtil">

select

  <include refid="Base_Column_List" />

from vip limit #{starnum,jdbcType=INTEGER},#{page_number,jdbcType=INTEGER}

</select>

控制层Action

@Controller

public class VipManager {

@Autowired

    public  VipService vipService;

/**

* 首次获取list

* @param map

* @return

*/

@RequestMapping("/vipmanager_list")

    public String list(ModelMap map,PageUtil pageUtil){

if (pageUtil.getCurrent_page()==null){

pageUtil.setCurrent_page(1);

        }

List<Vip> vipList = vipService.param_List(pageUtil);

map.put(“vipList”,vipList);

map.put(“pageUtil”,pageUtil);

return “vipmanager/list”;

    }

serviceImpl

@Override

public List<Vip> param_List(PageUtil pageUtil) {

int count = vipMapper.selectCount(); //查询共有多少条,赋值给pageUtil对象

pageUtil.setCountnum(count);

return vipMapper.param_List(pageUtil);

}

页面js

<script>

function toPage(curpage) {

location=“http://localhost:8080/springmvc/vipmanager_list?current_page="+curpage;

    }
</script>

页面

<span onclick="toPage(${pageUtil.current_page-1})" style="cursor: pointer">上一页</span>