@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 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;
}
}
分享到:
2009-07-02 19:36
浏览 1858
评论