上接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()); }