@Override protected Resultable querySelectionsResult( QueryFactory queryFactory, int rows, int page, String[] selections, Order order) { String hql = "From MsgSend As m Where m.userName=:userName And m.id In (:id) Order By m.sendTime Desc, m.id Desc"; String countHql = "Select count(m.id) From MsgSend As m Where m.userName=:userName And m.id In (:id) "; HqlQueryable query = queryFactory.createHqlQuery(hql, countHql); query.setParameter("id", getIds(Long.class)); query.setParameter("userName", EwcmsContextUtil.getUserName()); setDateFormat(DATE_FORMAT); return query.setRow(rows).setPage(page).queryResult(); }
@Override protected Resultable queryResult( QueryFactory queryFactory, String cacheKey, int rows, int page, Order order) { String hql = "From MsgSend As m Where m.userName=:userName "; String countHql = "Select count(m.id) From MsgSend As m Where m.userName=:userName "; Long id = getParameterValue(Long.class, "id", "查询编号错误,应该是整型"); if (isNotNull(id)) { hql += " And m.id=:id "; countHql += " And m.id=:id"; } String title = getParameterValue(String.class, "title", ""); if (isStringNotEmpty(title)) { hql += " And m.title Like :title"; countHql += " And m.title Like :title"; } String sendTimeStart = getParameterValue(String.class, "sendTimeStart", ""); if (isStringNotEmpty(sendTimeStart)) { hql += " And m.sendTime>=:sendTimeStart"; countHql += " And m.sendTime>=:sendTimeStart"; } String sendTimeEnd = getParameterValue(String.class, "sendTimeEnd", ""); if (isStringNotEmpty(sendTimeEnd)) { hql += " And m.sendTime<=:sendTimeEnd"; countHql += " And m.sendTime<=:sendTimeEnd"; } String type = getParameterValue(String.class, "type", ""); if (isStringNotEmpty(type) && !type.equals("-1")) { hql += " And m.type=:type"; countHql += " And m.type=:type"; } hql += " Order By m.sendTime Desc, m.id Desc"; HqlQueryable query = queryFactory.createHqlQuery(hql, countHql); if (isNotNull(id)) { query.setParameter("id", id); } if (isStringNotEmpty(title)) { query.setParameter("title", "%" + title + "%"); } if (isStringNotEmpty(sendTimeStart)) { try { query.setParameter("sendTimeStart", DATE_FORMAT.parse(sendTimeStart)); } catch (ParseException e) { e.printStackTrace(); } } if (isStringNotEmpty(sendTimeEnd)) { try { query.setParameter("sendTimeEnd", DATE_FORMAT.parse(sendTimeEnd)); } catch (ParseException e) { e.printStackTrace(); } } if (isStringNotEmpty(type) && !type.equals("-1")) { query.setParameter("type", Type.valueOf(type)); } query.setParameter("userName", EwcmsContextUtil.getUserName()); setDateFormat(DATE_FORMAT); return query.setRow(rows).setPage(page).queryCacheResult(cacheKey); }