包装VO分页查询底层代码

 
******************DAOImpl******************************
public Pagination queryCardInfoVO(String sql, String sqlCount, int pageNo, int pageSize){
int count = Integer.valueOf(String.valueOf(getSession().createSQLQuery(sqlCount).uniqueResult()));
Pagination p = new Pagination(pageNo, pageSize, count);
List<CardInfo> iList = getSession().createSQLQuery(sql).addEntity(CardInfo.class)
.setCacheable(false).setFirstResult(p.getFirstResult()).setMaxResults(p.getPageSize()).list();
List<CardInfoVO> cardInfoVOList = new ArrayList<CardInfoVO>();
for (CardInfo cardInfo : iList){
Float restMoney = Float.valueOf(cardInfoDetailManager.queryRestTotalMoney(cardInfo));
CardInfoVO cardInfoVO = new CardInfoVO();
cardInfoVO.setCardInfoId(cardInfo.getId());
cardInfoVO.setCardItemClass(cardInfo.getCardItemClass());
cardInfoVO.setCardStatus(cardInfo.getCardStatus());
cardInfoVO.setEndDate(cardInfo.getEndDate());
cardInfoVO.setMemberCardNumber(cardInfo.getMemberCardNumber());
cardInfoVO.setStartDate(cardInfo.getStartDate());
cardInfoVO.setSealMoney(cardInfo.getSealMoney());
cardInfoVO.setRestMoney(restMoney);
cardInfoVOList.add(cardInfoVO);
}
p.setList(cardInfoVOList);
if (null != p.getList()) {
logger.debug("findCardInfoVO Results success: {}", 0 != p.getList().size());
} else {
logger.debug("findCardInfoVO success: false");
}
return p;
}
 
 
 
******************ManagerImpl*****************************************
@Override
public Pagination findCardInfoVOPagination(int pageNo, int pageSize, Boolean flag, MemberBaseInfo memberInfo,
Map<String, Object> properties){
StringBuffer sql = new StringBuffer();
sql.append(" from mm_cardinfo where mbaseInfo_idkey =").append(memberInfo.getId());
if (properties.containsKey("memberCardNumber")){
sql.append(" and memberCardNumber ='").append(properties.get("memberCardNumber")).append("'");
}
if (properties.containsKey("cardItemClassId")){
sql.append(" and carditemclass_idkey =").append(Integer.valueOf(properties.get("cardItemClassId").toString()));
}
if (properties.containsKey("startDate")){
sql.append(" and startDate >='").append(properties.get("startDate")).append("'");
}
if (properties.containsKey("endDate")){
sql.append(" and endDate <'").append(properties.get("endDate")).append("'");
}
// 获取总数
StringBuffer countSql = new StringBuffer();
countSql.append("select count(*) ").append(sql.toString());
// 排序
StringBuffer querySql = new StringBuffer();
querySql.append("select * ").append(sql.toString());
querySql.append(" order by startDate desc");
logger.debug("querySql*******:{}",querySql.toString());
return getCardInfoDao().queryCardInfoVO(querySql.toString(), countSql.toString(), pageNo, pageSize);
}
原文地址:https://www.cnblogs.com/yony/p/2718248.html