package lj.bean;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import java.util.ArrayList;
import lj.dbc.*;
import lj.vo.Person;
public class PersonBean
{
private int allRows ;//总共多少行----没有Set方法
private int curPage = 1 ;//当前页,默认为第1页
private int rowPerPage = 5 ;//每页多少行,默认为5行----没有Set方法
private int allPages ;//总共多少页----没有Set方法
public List findAll()
{
List list = new ArrayList() ;
PreparedStatement pstmt = null ;
ResultSet rs = null ;
DataBaseConnection dbc = null ;
dbc = new DataBaseConnection() ;
String sql = "select * from fenye order by id desc" ;
try
{
//加入结果集滚动和游标只读参数
pstmt = dbc.getConnection().prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
//st=dbc.getConnection().createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
//st = dbc.getConnection().createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
//rs = st.executeQuery("select * from fenye order by id desc") ;
rs = pstmt.executeQuery() ;
rs.last() ;//滚动到最后
this.allRows = rs.getRow() ;
if(this.allRows%this.rowPerPage==0)
{
this.allPages = this.allRows/this.rowPerPage ;
}
else
{
this.allPages = this.allRows/this.rowPerPage+1 ;
}
if(this.curPage==1)
{
rs.first();//如果当前页在第一页就将游标移到第一页
}
else
{
rs.absolute((this.curPage-1)*this.rowPerPage) ;//如果不在第一页:将当前页减1乘以每页多少行
}
int i=0;
while(rs.next()&&i<this.rowPerPage)//遍历所以集合,并且每页行数要小于i=0
{
Person person=new Person();
person.setId(rs.getInt(1)) ;
person.setName(rs.getString(2)) ;
person.setPassword(rs.getString(3)) ;
person.setAge(rs.getString(4)) ;
list.add(person);
i++;//i加加
}
rs.close() ;
pstmt.close() ;
}
catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally
{
dbc.close() ;
}
return list;
}
public int getCurPage() {
return curPage;
}
public void setCurPage(int curPage) {
this.curPage = curPage;
}
public int getAllRows() {
return allRows;
}
public int getRowPerPage() {
return rowPerPage;
}
public int getAllPages() {
return allPages;
}
}