分页小思路
分页工具类
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>