Java tutorial
package org.redis.shop.dao.impl; import java.util.List; import java.util.Map; import org.hibernate.Criteria; import org.hibernate.criterion.Projections; import org.hibernate.criterion.Restrictions; import org.redis.shop.base.dao.impl.BaseDaoImpl; import org.redis.shop.dao.VechileDao; import org.redis.shop.entity.Vechile; import org.redis.shop.util.Pager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Repository; @Repository("vechileDaoImpl") public class VechileDaoImpl extends BaseDaoImpl<Vechile> implements VechileDao { /** * */ private static final Logger log = LoggerFactory.getLogger(VechileDaoImpl.class); public List<Vechile> vechile_search(Map<String, Object> map, Pager pager) { Criteria criteria = getSession().createCriteria(Vechile.class); if (map.get("state") != null) { criteria.add(Restrictions.eq("state", map.get("state"))); } if (map.get("vechileNum") != null) { criteria.add(Restrictions.eq("vechileNum", map.get("vechileNum"))); } if (map.get("license") != null) { criteria.add(Restrictions.eq("license", map.get("license"))); } if (map.get("type") != null) { if (map.get("siteId") != null) { criteria.createAlias("site", "s"); criteria.add(Restrictions.eq("s.siteId", map.get("siteId"))); } else if (map.get("type").equals("site") && map.get("region") != null) { criteria.createAlias("site", "s"); criteria.add(Restrictions.eq("s.region", map.get("region"))); } if (map.get("centerId") != null) { criteria.createAlias("center", "ct"); criteria.add(Restrictions.eq("ct.centerId", map.get("centerId"))); } else if (map.get("type").equals("center") && map.get("region") != null) { criteria.createAlias("center", "c"); criteria.add(Restrictions.eq("c.region", map.get("region"))); } if (map.get("type").equals("site") && map.get("region") == null) { criteria.add(Restrictions.isNotNull("site")); } else if (map.get("type").equals("center") && map.get("region") == null) { criteria.add(Restrictions.isNotNull("center")); } } return criteria.setFirstResult(pager.getPageSize() * (pager.getPageNumber() - 1)) .setMaxResults(pager.getPageSize()).list(); } public Integer vechile_search_count(Map<String, Object> map) { Criteria criteria = getSession().createCriteria(Vechile.class); if (map.get("state") != null) { criteria.add(Restrictions.eq("state", map.get("state"))); } if (map.get("vechileNum") != null) { criteria.add(Restrictions.eq("vechileNum", map.get("vechileNum"))); } if (map.get("license") != null) { criteria.add(Restrictions.eq("license", map.get("license"))); } if (map.get("type") != null) { if (map.get("siteId") != null) { criteria.createAlias("site", "s"); criteria.add(Restrictions.eq("s.siteId", map.get("siteId"))); } else if (map.get("type").equals("site") && map.get("region") != null) { criteria.createAlias("site", "s"); criteria.add(Restrictions.eq("s.region", map.get("region"))); } if (map.get("centerId") != null) { criteria.createAlias("center", "ct"); criteria.add(Restrictions.eq("ct.centerId", map.get("centerId"))); } else if (map.get("type").equals("center") && map.get("region") != null) { criteria.createAlias("center", "c"); criteria.add(Restrictions.eq("c.region", map.get("region"))); } if (map.get("type").equals("site") && map.get("region") == null) { criteria.add(Restrictions.isNotNull("site")); } else if (map.get("type").equals("center") && map.get("region") == null) { criteria.add(Restrictions.isNotNull("center")); } } return Integer.parseInt(((Long) criteria.setProjection(Projections.rowCount()).uniqueResult()) + ""); } }