日期:2014-05-16 浏览次数:21226 次
package Util;
import dao.ArchiveDAO;
public class PageUtil {
private int pageSize;//页面大小(每页显示的条目数)
private int pageId;//当前页码Id
private int pageTotal;//记录总数
private int pageNum;//记录总页数
/**
* 构造方法,用于计算总页数
*/
public PageUtil() {
super();
this.pageTotal = new ArchiveDAO().getTotals();
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getPageId() {
return pageId;
}
public void setPageId(int pageId) {
this.pageId = pageId;
}
public int getPageTotal() {
return pageTotal;
}
/**
* 计算总页数
* @param pagesize
* @return
*/
public int getPageNum(int pageSize) {
if (pageTotal < pageSize) {
pageNum = 1;
} else if (pageTotal % pageSize == 0) {
pageNum = pageTotal / pageSize;
} else {
pageNum = pageTotal / pageSize + 1;
}
return pageNum;
}
}
package dao;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import entity.Archive;
import Util.DBUtil;
import Util.PageUtil;
public class ArchiveDAO {
private static final String FIND_TOTAL = "select * from d_archive";
private static final String FIND_ALL = "select * from d_archive limit ?,?";
/**
* 获取记录总数
* @return
*/
public int getTotals() {
int pageTotal = 0;
try {
Connection conn = DBUtil.getConnection();
PreparedStatement prep = conn.prepareStatement(FIND_TOTAL);
ResultSet res = prep.executeQuery();
while (res.next()) {
pageTotal++;
}
} catch (Exception e) {
e.printStackTrace();
}
return pageTotal;
}
/**
* 查询当前页的条目
* @param page 当前页码
* @return
*/
public List<Archive> getPage(PageUtil page) {
int pageId = page.getPageId();//当前页码
int pageSize = page.getPageSize();//页面大小
//int pageNum = page.getPageNum(pageSize);//页码总数
//int pageTotal = page.getPageTotal();//总条目数
List<Archive> list = new ArrayList<Archive>();
try {
Connection conn = DBUtil.getConnection();
PreparedStatement prep = conn.prepareStatement(FIND_ALL);
int begin = (pageId - 1) * pageSize;
prep.setInt(1, begin);//开始索引位置
prep.setInt(2, pageSize);//索引条目数
ResultSet res = prep.executeQuery();
while (res.next()) {
Archive archive = new Archive();
archive.setId(res.getInt("id"));
archive.setDocMgrName(res.getString("document_manager_name"));
archive.setDepartmentName(res.getString("department_name"));
archive.setCatchNum(res.getInt("catch_number"));
archive.setArchiveNum(res.getInt("archive_number"));
archive.setLastOpeTime(res.getString("last_operate_time"));
list.add(archive);
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
}
推荐阅读更多>
-
ExtJS 求教
-
万年中文有关问题啊
-
-
关于ajax 返回html的有关问题 求大神指点
-
一个Web运用的笔试题目,求大神迅速出击,小弟感激不尽
-
WEB即时战略红色警戒的游戏开发,关于人们网和QQ空间应用
-
急 !AJAX 在Chrome浏览器中没反应怎么处理 ?
-
怎么将ext中的容器背景透明
-
JQUERY有关问题,
-
解决IE下jquery ajax无法获得最新数据的有关问题(IE缓存)
-
ajax有关技术资料
-
树形菜单,该如何处理
-
WEB即时战略红色警戒的游戏开发,关于众人网和QQ空间应用
-
关于jquery属性过滤器什么时候该加引号?解决办法
-
ajax占用带宽解决方法
-
一个EXT的有关问题,求解啊
-
在HTML5中载入了AJAX的文件,在IE中正常,但是CHROME中出现了有关问题,有源码,不是很复杂,想知道到底是出了什么有关问题
-
XSL文档有一个input文本框,后头跟一个提交js按钮,怎样判断文本框内容跟上次的是否相同
-
操作css 设置样式
-
Extjs4.0的API怎样才能在页面上能够全部显示出来?解决方案