zoukankan      html  css  js  c++  java
  • 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());  
    	}
    
  • 相关阅读:
    在TreeView控件节点中显示图片
    PAT 甲级 1146 Topological Order (25 分)
    PAT 甲级 1146 Topological Order (25 分)
    PAT 甲级 1145 Hashing
    PAT 甲级 1145 Hashing
    PAT 甲级 1144 The Missing Number (20 分)
    PAT 甲级 1144 The Missing Number (20 分)
    PAT 甲级 1151 LCA in a Binary Tree (30 分)
    PAT 甲级 1151 LCA in a Binary Tree (30 分)
    PAT 甲级 1149 Dangerous Goods Packaging
  • 原文地址:https://www.cnblogs.com/zuo72/p/8260810.html
Copyright © 2011-2022 走看看