package com.srj.text; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import com.sun.rowset.CachedRowSetImpl; public class ShowRecordByPage { int pageSize=10; //每页显示的记录数 int pageAllCount=0; //分页后的总页数 int showPage=1; //当前显示页 StringBuffer presentPageResult; //显示当前页内容 CachedRowSetImpl rowSet; //用于存储ResultSet对象 String databaseName=""; //数据库 String tableName=""; //表的名字 String user=""; //用户 String password=""; //密码 String field[]=new String[100]; //存储表中的属性名 int fieldNum=0; //字段(属性)个数 public ShowRecordByPage() { presentPageResult=new StringBuffer(); try { Class.forName("com.mysql.jdbc.Driver"); } catch (Exception e) { e.printStackTrace(); } } public void setPageSize(int size){ pageSize=size; fieldNum=0; String uri="jdbc:mysql://localhost/"+databaseName; try { Connection con=DriverManager.getConnection(uri, user, password); DatabaseMetaData metaData=con.getMetaData(); ResultSet rs1=metaData.getColumns(null, null, tableName, null); int k=0; while(rs1.next()){ fieldNum++; field[k]=rs1.getString(4); //获取字段名称 k++; } Statement sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); ResultSet rs=sql.executeQuery("select * from "+tableName); rowSet=new CachedRowSetImpl(); //创建行集对象 rowSet.populate(rs); con.close(); //关闭连接 rowSet.last(); int m=rowSet.getRow(); //总行数 int n=pageSize; pageAllCount=((m%n)==0)?(m/n):(m/n+1); } catch (Exception e) { e.printStackTrace(); } } public int getShowPage() { return showPage; } public void setShowPage(int showPage) { this.showPage = showPage; } public String getDatabaseName() { return databaseName; } public void setDatabaseName(String databaseName) { this.databaseName = databaseName; } public String getTableName() { return tableName; } public void setTableName(String tableName) { this.tableName = tableName; } public String getUser() { return user; } public void setUser(String user) { this.user = user; } public int getPageSize() { return pageSize; } public int getPageAllCount() { return pageAllCount; } public void setPresentPageResult(StringBuffer presentPageResult) { this.presentPageResult = presentPageResult; } public void setPassword(String password) { this.password = password; } public StringBuffer getPresentPageResult() { if(showPage>pageAllCount) showPage=1; if(showPage<=0) showPage=pageAllCount; presentPageResult=show(showPage); return presentPageResult; } public StringBuffer show(int showPage2) { StringBuffer str=new StringBuffer(); str.append("
"+rowSet.getString(k)+" |