读书人

JSP读取MySql数据库兑现分页效果

发布时间: 2012-10-19 16:53:36 作者: rapoo

JSP读取MySql数据库实现分页效果

下面是用MV模式做的一个简单的登录后实现分页显示数据信息的页面,后面会用MVC模式改写。

package com.ly.model;

import java.sql.*;
import java.util.ArrayList;

public class UserbeanCl {
private Statement st = null;
private ResultSet rs = null;
private Connection ct = null;
private int pageSize = 10;
private int rowCount = 0;
private int pageCount = 0;

//得到应显示的页码数

public int pageCount() {
try {
// 得到连接
ct = new connDB().getConn();
st=ct.createStatement();
rs = st.executeQuery("select count(*) from students");
//
if(rs.next()){

rowCount=rs.getInt(1);
}
if(rowCount%pageSize==0){
pageCount=rowCount/pageSize;

}else{
pageCount=rowCount/pageSize+1;
}


} catch (Exception e) {
e.printStackTrace();
} finally {
shutup();
}
return pageCount;

}

// 返回分页信息,用ArrayList对象存储

public ArrayList getUsersByPage(int PageNow) {
pageCount = pageCount();

ct = new connDB().getConn();
int startRow=(PageNow-1)*pageSize;
ArrayList al = new ArrayList();

try {
st = ct.createStatement();
rs=st.executeQuery("SELECT * FROM `students` LIMIT "+startRow+","+pageSize);
while(rs.next()){

Userbean ub=new Userbean();
ub.setId(rs.getInt(1));
ub.setName(rs.getString(2));
ub.setGrade(rs.getInt(3));
ub.setBatch(rs.getInt(4));
ub.setPassword(rs.getInt(5));
ub.setGxqm(rs.getString(6));
al.add(ub);

}

} catch (Exception e) {
e.printStackTrace();
} finally {
shutup();
}

return al;

}

//验证用户登录

public boolean checkUser(String u, String p) {
boolean b = false;
ct = new connDB().getConn();
try {
st = ct.createStatement();
ResultSet rs = st
.executeQuery("select password from students where name='"
+ u + "'");
if (rs.next()) {
// 说明用户名存在
if (rs.getString(1).equals(p)) {
// 密码正确
b = true;
} else {
return false;
}
}

} catch (Exception e) {
e.printStackTrace();
} finally {
shutup();
}
return b;

}

// 关闭连接释放资源

public void shutup() {

try {
if (rs != null)
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
if (st != null)
st.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
if (ct != null)
ct.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

}

}

读书人网 >其他数据库

热点推荐