Hibernate查询2



//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;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值