String keyword = request.getParameter("keyword"); //前端传进list模糊查询字段 int page = Integer.parseInt((StringUtils.isBlank(request.getParameter("page"))) ? "1" : request.getParameter("page")); //分页条件1 int pageSize = Integer.parseInt((StringUtils.isBlank(request.getParameter("pageSize"))) ? "10" : request.getParameter("pageSize"));//分页条件2 QueryResult queryResult = new QueryResult();//返回前端结果(自己封装) List<WarningInfoBean> infoList = SingletonCacheUtil.getInstance().getAlertCacheInfoList(); //从缓存拿数据 if (null != infoList && infoList.size() > 0) { logger.info("缓存数据大小: "+infoList.size()); List<WarningInfoBean> list = new ArrayList<>(); for (WarningInfoBean info : infoList) { if (StringUtils.isNotBlank(keyword)) { Pattern pattern = Pattern.compile(keyword); // 模糊区分大小 //Pattern pattern = Pattern.compile(name,Pattern.CASE_INSENSITIVE); //模糊不区分大小 Matcher matcher = pattern.matcher(info.getAlertName()); // 模糊比对条件1 Matcher matcher1 = pattern.matcher(info.getCompanyName());// 模糊比对条件2 if (matcher.find() || matcher1.find()) { // 模糊查询 // matcher.matches()精确查询 list.add(info); } } else { list.add(info); } } if (list.size() > 0) { // 处理分页 int size = list.size(); // 分页计算 int pageStart = page == 1 ? 0 : (page - 1) * pageSize; int pageEnd = size < page * pageSize ? size : page * pageSize; if (size > pageStart) { list = list.subList(pageStart, pageEnd); } queryResult.setRows(list); queryResult.setTotal(size); } }else { logger.info("缓存数据为空!"); } write(queryResult);
Java List模糊查询并分页
最新推荐文章于 2023-05-18 08:46:35 发布