for循环与mysql的分页查询

在处理大数据量时,一次性查询所有数据会增加数据库压力。通过分页查询,配合for循环实现数据分批加载。当每批查询结果不足设定值时,使用break跳出循环,有效避免无效查询,简化逻辑并提高性能。同时介绍了Java中的break和continue语句在循环控制中的应用。
摘要由CSDN通过智能技术生成

这两天写了一个定时任务,关于查询表中快过期的卡,发送短信提醒,在查询中,因为生产上的数据数十万条,数据量大,如果直接一下子查出来,会对数据库造成很大的压力,用到分页查询,按照正常逻辑,查询表中总数量,然后根据当前页以及每页数量,循环对数据库进行查询;

		//分页查询,每次查询1000条数据
		int pageSize = 1000;//每页数量
		int page = 1;//定义总页数
		int offset;//当前页起始数
		int rowCount;//当前页结束数
		List<GiftCard> list = null;
		List<Integer> userIdList = new ArrayList<Integer>();
		//得到总页数
		if(giftCardCount > 0){			
			if(giftCardCount%pageSize==0){
				page=(int) (giftCardCount/pageSize);
			}else{
				page=(int) (giftCardCount/pageSize+1);
			}
		}
		//查询出还有三天且绑定了用户的优选卡信息
		for (int i = 1; i < page + 1; i++) {			
			if(page == 1){//即将过期账号查询只有一页时
				offset = 0;
				rowCount = (int) giftCardCount;
				list = giftcardDAO.getGiftCardThreeDaysDue(rowCount,offset,currentTim
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值