mysql分页

	
	@SuppressWarnings("unchecked")
	public List showStudentPage(int nowPage, int pageSize) {
		if (nowPage < 1) {
			nowPage = 1;
		}
		Page page = new Page();
		page.setPageSize(pageSize);
		page
				.setInfoCount(this
						.getTotalCount("select count(*) from student")); // 设置记录总数
		page.setNowPage(nowPage); // 设置当前页数
		page.setPageCount(this.getPageCount(page)); // 设置总页数
		if (nowPage > page.getPageCount()) {
			page.setNowPage(page.getPageCount()); // 如果请求的页面大于总页数
		}
		int startLine = (page.getNowPage() - 1) * page.getPageSize(); // 设置起始行
		if (startLine < 0) {// 如果没有数据
			startLine = 0;
		}
		String sql = "select * from student limit " + startLine + ","
				+ (page.getPageSize());
		List<Student> list = simpleJdbcTemplate.getJdbcOperations().query(sql,
				new BeanPropertyRowMapper(Student.class));
		List pp = new ArrayList();
		pp.add(0, list);
		pp.add(1, page);
		return pp;
	}
	/**
	 * 返回总行数
	 * 
	 * @param sql
	 * @return totalRec
	 */
	public int getTotalCount(String sql) {
		int totalRec = 0;
		totalRec = simpleJdbcTemplate.getJdbcOperations().queryForInt(sql);
		return totalRec;
	}

	/**
	 * 返回总页数
	 * 
	 * @param page
	 * @return intPageCount
	 */
	public int getPageCount(Page page) {
		int intPageCount;
		intPageCount = (page.getInfoCount() + page.getPageSize() - 1)
				/ page.getPageSize();
		if (intPageCount * page.getPageSize() < page.getInfoCount()) {
			intPageCount++;
		}
		return intPageCount;
	}

 

 

Page对象

 

package com.test.domain;

public class Page {
	
	private int pageCount; //总页数
	private int nowPage;   //当前页编号
	private int pageSize ;  //页面大小
	private int infoCount; //总记录数
	
	public int getPageCount() {
		return pageCount;
	}
	public void setPageCount(int pageCount) {
		this.pageCount = pageCount;
	}
	public int getNowPage() {
		return nowPage;
	}
	public void setNowPage(int nowPage) {
		this.nowPage = nowPage;
	}
	public int getPageSize() {
		return pageSize;
	}
	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}
	public int getInfoCount() {
		return infoCount;
	}
	public void setInfoCount(int infoCount) {
		this.infoCount = infoCount;
	}
	
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值