//between and @Override public PageInfo<T> queryInfoAndLikes(PageInfo<T> pageInfo, Map<String, String> map, String propertyName, Object minObject, Object maxObject) throws DataAccessException { if (pageInfo == null) { pageInfo = new PageInfo<T>(); } DetachedCriteria detached = DetachedCriteria.forClass(entityClass); DetachedCriteria detachedPage = DetachedCriteria.forClass(entityClass); for (Map.Entry<String, String> en:map.entrySet()) { detached.add(Restrictions.like(en.getKey(),en.getValue(), MatchMode.ANYWHERE)); detachedPage.add(Restrictions.like(en.getKey(),en.getValue(), MatchMode.ANYWHERE)); } detached.add(Restrictions.between(propertyName, minObject, maxObject)); detachedPage.add(Restrictions.between(propertyName, minObject, maxObject)); pageInfo.setPageRow(queryByRowNumber(detachedPage)); pageInfo.setData(this.getHibernateTemplate().findByCriteria(detached, pageInfo.getCurrentPage() * pageInfo.getPageSize(), pageInfo.getPageSize())); return pageInfo; } //外连接,别名 @Repository("organizationDao") public class OrganizationDaoImpl extends BaseDaoImpl<Organization> implements IOrganizationDao { @Override public PageInfo<Organization> querySelfUser(PageInfo<Organization> pageInfo, Map<String, String> map, Map<String, Object> andEqual, Map<String, String> alias, String orKey1, Object value1, String orKey2, Object value2) { if (pageInfo == null) { pageInfo = new PageInfo<Organization>(); } DetachedCriteria detached = DetachedCriteria.forClass(entityClass); DetachedCriteria detachedPage = DetachedCriteria.forClass(entityClass); if (alias != null) { for (Map.Entry<String,String> en:alias.entrySet()) { detached.createAlias(en.getKey(), en.getValue()); detachedPage.createAlias(en.getKey(), en.getValue() ,Criteria.LEFT_JOIN); } } if (orKey1 != null) { detached.add(Restrictions.disjunction().add(Restrictions.or( Restrictions.eq(orKey1, value1), Restrictions.eq(orKey2, value2) ))); detachedPage.add(Restrictions.disjunction().add(Restrictions.or( Restrictions.eq(orKey1, value1), Restrictions.eq(orKey2, value2) ))); } for (Map.Entry<String, String> en:map.entrySet()) { detached.add(Restrictions.like(en.getKey(),en.getValue(), MatchMode.ANYWHERE)); detachedPage.add(Restrictions.like(en.getKey(),en.getValue(), MatchMode.ANYWHERE)); } for (Map.Entry<String, Object> en:andEqual.entrySet()) { detached.add(Restrictions.eq(en.getKey(),en.getValue())); detachedPage.add(Restrictions.eq(en.getKey(),en.getValue())); } //detached.addOrder(Order.asc("organizationId")); pageInfo.setPageRow(queryByRowNumber(detachedPage)); pageInfo.setData(this.getHibernateTemplate().findByCriteria(detached, pageInfo.getCurrentPage() * pageInfo.getPageSize(), pageInfo.getPageSize())); return pageInfo; }