【Java开源代码栏目提醒】:网学会员--在 Java开源代码编辑为广大网友搜集整理了:SimplePageDb2.java绩等信息,祝愿广大网友取得需要的信息,参考学习。
//chp7
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.Hashtable;
import java.util.Vector;
import simpleforum.database.DataBaseConn;
import simpleforum.database.QueryHelp;
/**
* @author wangmj
* @mail <a mailto="wangmingjie_3710167@qq.com">
* 2005-4-11 2005
*
* SimplePage.java
* SimplePage.setRowsPerPage(10);//设置每页的行数
* SimplePage.setCurPage(2);//设置当前页是第几页
* SimplePage.setCountSql(countSql); //设置统计总行数的
sql * SimplePage.setSelectSql(selectSql);//设置查询的sql
* SimplePage.setFormName("item"); //设置form表单的名字
* vector = SimplePage.getResult();//返回结果
*/
public class SimplePageDb2 {
private int curPage; //当前第几页;
private int maxPage; //共有多少页;
private int maxRowCount; //总共多少行
private int rowsPerPage=10; //每页有多少行 ,默认为10行
private Vector vector = new Vector();//用来存放最后的查询结果
private String countSql =""; //统计总的查询结果数目的sql
private String selectSql =""; //
查询sql语句
private String formName = "item"; //form表单的名字,默认为item
public void setFormName(String formName){
this.formName = formName;
}
public String getFormName(){
return this.formName;
}
public void setRowsPerPage(int rowsPerPage){
this.rowsPerPage=rowsPerPage;
}
public int getRowsPerPage(){
return this.rowsPerPage;
}
public void setCurPage(int curPage){
this.curPage=curPage;
}
public int getCurPage(){
return this.curPage;
}
//设置查询总数的sql语句,当然不是必须的
public void setCountSql(String countSql){
this.countSql = countSql;
}
public String getCountSql(){
return this.countSql;
}
public void setSelectSql(String selectSql){
this.selectSql=selectSql;
}
public String getSelectSql(){
return this.selectSql;
}
// 返回查询结果的总记录数
public void setMaxRowCount(){
this.maxRowCount = QueryHelp.getInt(getCountSql());
}
public int getMaxRowCount(){
return this.maxRowCount;
}
// 根据总数计算总共有多少页
public void setMaxPage() {
this.maxPage = (this.maxRowCount % this.rowsPerPage == 0) ? this.maxRowCount
/ this.rowsPerPage
: this.maxRowCount / this.rowsPerPage + 1;
}
public int getMaxPage(){
return this.maxPage;
}
//返回查询的结果
//修改这个方法,根据不同数据库的特点实现分页显示
public Vector getResult(){
setMaxRowCount();//总结果数
setMaxPage();//总的页数
String objectSql=this.selectSql+” limit ”+ (getCurPage()-1)*getRowsPerPage()+” , ”+getCurPage()*getRowsPerPage();
Vector = QueryHelp.getHelp(objectSql);
return vector;
}
//修改这个方法可以改变分页的显示样式
public String getPageInfo(){
StringBuffer sb = new StringBuffer();
//首先输出页面中js实现的页面跳转
sb.append("<script languange=\"javascript\">")
.append("function Jumping(){")
.append(" document."+getFormName()+".submit();")
.append(" return;")
.append("}")
.append("function gotoPage(pagenum){")
.append(" document."+getFormName()+".jumpPage.value=pagenum;")
.append(" document."+getFormName()+".submit();")
.append(" return;")
.append("}")
.append("</script>");
//在这个可以改变分页显示的样式
sb.append( "<table>")
.append("<tr>")
.append("<td>")
.append("每页"+getRowsPerPage()+"行")
.append("共"+getMaxRowCount()+"行")
.append("第"+getCurPage()+"页")
.append("共"+getMaxPage()+"页")
.append("<br>")
.append("");
if(getCurPage()==1){
sb.append(" 首页 上一页");
}else{
sb.append("<a href=\"javascript:gotoPage(1)\">首页</a>")
.append(" <a href=\"javascript:gotoPage("+(getCurPage()-1)+")\">上一页</a>");
}
if(getCurPage()==getMaxPage()){
sb.append(" 下一页 尾页");
} else {
sb.append("<a href = \"javascript:gotoPage("+(getCurPage()+1)+")\">下一页</a>")
.append(" <a href = \"javascript:gotoPage("+getMaxPage()+")\">尾页</a>");
}
sb.append(" 转到第")
.append("<select name=\"jumpPage\" onchange=\"Jumping()\">");
for(int i = 1;i<=getMaxPage();i++){
if(i==getCurPage()){
sb.append("<o