在实际项目开发中,如果使用mybatis,

com.github.pagehelper.PageHelper;组件,分页页面点击速度快了以后,在页面切换的时候,新切换的页面会报错,分页sql中会多出来一个Limit 关键字。

解决方法:PageHelper.clearPage();

接口调用前调用执行PageHelper.clearPage() 方法。测试可以解决问题。目前不清楚会引起什么问题。

欢迎指正。


	public PageInfo<ProductVo> getByPage(String keyword, String productCategoryId, List<Long> labelId, Integer sourceId,
			Integer status, Integer saleStatus, Integer page, Integer perPage)
	{
		PageHelper.clearPage();
		Map<String, Object> conditions = new HashMap<>();

		if (StringUtils.isNotEmpty(keyword))
		{
			conditions.put("keyword", keyword);
		}
		if (StringUtils.isNotEmpty(productCategoryId))
		{
			conditions.put("productCategoryId", productCategoryId);
		}

		if (CollectionUtils.isNotEmpty(labelId))
		{
			conditions.put("labelId", labelId);
		}

		if (Objects.nonNull(sourceId))
		{
			conditions.put("sourceId", sourceId);
		}

		if (Objects.nonNull(status))
		{
			conditions.put("status", status);
		}

		if (Objects.nonNull(saleStatus))
		{
			conditions.put("saleStatus", saleStatus);
		}

		Integer start = (page - 1) * perPage;
		List<Product> products = productDao.findByConditionPage(conditions, start, perPage);
		int total = productDao.findCountByCondition(conditions);
		List<ProductVo> retVo = entityListToVoList(products);
		PageInfo<ProductVo> pageInfo = PageUtils.buildPage(page, perPage, total, retVo);
		return pageInfo;
	}

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐