Java后台 自动 翻页查询

主要是 有些表的 如果 数据量太大的话。 执行查询,会 导致 数据库 比较卡 或者 说 量太大了, 服务器挂掉都有 可能。 可是一般 不会 有这样的情况的。 数据量太大了, 一般也有分库分表啊, 分布式等等的 可是还是 写出来了, 防止什么时候 用到的, 其实 这个 不算难, 理解分页原理 加个 循环即可

// 拼SQL使用 map
		HashMap conditionMap = new HashMap();
		String whereSqlString = "";// sql字符串

		whereSqlString = " a.status_='0' and a.actived_='0' ";// 有效的
		conditionMap.put("whereSql", whereSqlString);

		// 确定 每页的记录数
		final int pageSize = 20;
		// 查询总数
		Integer totalRecords = hrEffUserInfoDomain.count(conditionMap);
		if (totalRecords == 0) {
			return;
		}
		// 总页数
		int totalPage = PageUtil.getTotalPage(totalRecords, pageSize);
		System.out.println(">>>总记录数>>>" + totalRecords + ">>>>>总页数>>"
				+ totalPage);
		logger.error(">>>总记录数>>>" + totalRecords + ">>>>>总页数>>" + totalPage);
		for (int i = 1; i <= totalPage; i++) {
			System.out.println("当前页数>>>" + i + "每页记录数>>>" + pageSize);
			logger.error("当前页数>>>" + i + "每页记录数>>>" + pageSize);
			// 自动 翻页
			Page page = PageUtil.buildPage(i, pageSize);
			List userInfoPosPage = new ArrayList();
			// 分页查询 处理
			userInfoPosPage = hrEffUserInfoDomain.findPaged(conditionMap, page);
			for (HrEffUserInfoPo hrEffUserInfoPo : userInfoPosPage) {
				logger.error(hrEffUserInfoPo.getEmployeeName()
						+ ">>>>>>>>循环处理业务>>>>>" + userInfoPosPage.size());
				System.out.println(hrEffUserInfoPo.getEmployeeName()
						+ ">>>>>>>>循环处理业务>>>>>" + userInfoPosPage.size());
				break;
			}

		}

转载于:https://my.oschina.net/ouminzy/blog/870100

你可能感兴趣的:(Java后台 自动 翻页查询)