datagrid里面的实现分页功能

  上接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());  
	}
原文地址:https://www.cnblogs.com/zuo72/p/8260810.html