上接datagrid里面的表
$(function() {
$("#tab").datagrid(
{
fit:true,
title : "用户信息",
url : "SelectAppUserServlet",
fitColumns : true,
pagination : true, // 显示datagrid的分页工具栏
pageNumber : 1, //当前默认的是在第一页
pageSize : 10, //每一页有多少数据 ,里面的数一定是存在于pageList里面的一个数
pageList : [ 5, 10, 20, 50, 100 ], //在设置分页属性的时候 初始化页面大小选择列表。
Basedao 方法
public class BaseDao {
protected Connection conn;
protected PreparedStatement ps;
protected ResultSet rs;
public void initQuery(String sql, Object... objs) { //查询的方法
conn = DBHelper.getConnection();
try {
ps = conn.prepareStatement(sql);
if (objs != null) {
for (int i = 1;i <= objs.length; i++) {
ps.setObject(i, objs[i - 1]);
}
}
rs = ps.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}
}
public int initUpdate(String sql, Object... objs) { //更新数据的方法
conn = DBHelper.getConnection();
int result = -1;
try {
ps = conn.prepareStatement(sql);
if (objs != null) {
for (int i = 1;i <= objs.length; i++) {
ps.setObject(i, objs[i - 1]);
}
}
result = ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
close();
return result;
}
public void close() {
DBHelper.destroy(conn, ps, rs);
}
}
AppuserDao 方法
public class AppUserDao extends BaseDao { //继承方法
public int selectAppUserCount() {
String sql = "select count(*) cnum from appuser2"; //此方法是来查询数据库里一共有多少数据
initQuery(sql);
int count = -1;
try {
if(rs.next()) {
count = rs.getInt("cnum");
}
} catch (SQLException e) {
e.printStackTrace();
}
return count;
}
public List<AppUser> selectAppUser(int page, int rows) {
List<AppUser> list = new ArrayList<AppUser>();
// String sql = "select * from appuser2";
String sql = "SELECT * FROM (SELECT A.*, ROWNUM RNUM FROM "
+ "(SELECT * FROM APPUSER2) A WHERE ROWNUM <= ?) R"
+ " WHERE R.RNUM > ?";
initQuery(sql, page * rows, (page - 1) * rows); //注意此处参数的传入
try {
while (rs.next()) {
AppUser user = new AppUser();
user.setIds(rs.getInt("ids"));
user.setUsername(rs.getString("username"));
user.setPassword(rs.getString("password"));
user.setRealname(rs.getString("realname"));
user.setSex(rs.getInt("sex"));
user.setCreatetime(rs.getTimestamp("createtime"));
list.add(user);
}
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
}
分页的Servlet
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String page = request.getParameter("page"); //easyui 会自动获取pages(当前页),rows(一页显示多少行)
String rows = request.getParameter("rows");
Integer ipage = Integer.parseInt(page); //强转
Integer irows = Integer.parseInt(rows);
AppUserDao auDao = new AppUserDao();
List<AppUser> list = auDao.selectAppUser(ipage, irows);
JSONObject jo = new JSONObject();
jo.put("rows", list);
jo.put("total", auDao.selectAppUserCount()); //此处设置的是数据库里面总的数据条数
response.getWriter().append(jo.toJSONString());
}