package edu.sjtu.infosec.ismp.manager.RAM.dao.impl; import java.util.List; import org.hibernate.Criteria; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import edu.sjtu.infosec.ismp.manager.RAM.dao.BusinessDao; import edu.sjtu.infosec.ismp.manager.RAM.model.AsseInfoBusi; import edu.sjtu.infosec.ismp.security.Domain; /** * 数据层 业务信息Dao实现类. */ public class BusinessDaoImpl extends HibernateDaoSupport implements BusinessDao { /** * 查询业务信息 */ public AsseInfoBusi find(String businessId) { AsseInfoBusi business = null; List busiList = getHibernateTemplate().find("from AsseInfoBusi busi where busi.businessId = ?", businessId); if(busiList.size()>0) { business = (AsseInfoBusi) busiList.get(0); } return business; } /** * 查询该委办局所有业务信息 */ @SuppressWarnings("unchecked") public List<AsseInfoBusi> find(Domain domain) { return (List<AsseInfoBusi>)getHibernateTemplate().find("from AsseInfoBusi busi where busi.domain = ?", domain); } /** * 查询业务信息记录数 */ public int getCount(Domain domain) { Criteria criteria = getSession().createCriteria(AsseInfoBusi.class, "busi"); if(domain != null) { criteria.add(Restrictions.eq("busi.domain", domain)); } return criteria.list().size(); } /** * 删除业务信息 */ public void remove(AsseInfoBusi business) { getHibernateTemplate().delete(business); } /** * 批量删除业务信息 */ public void remove(List<AsseInfoBusi> businessList){ getHibernateTemplate().deleteAll(businessList); } /** * 保存/更新业务信息 */ public void saveOrUpdate(AsseInfoBusi business) { getHibernateTemplate().saveOrUpdate(business); } @SuppressWarnings("unchecked") public List<AsseInfoBusi> findAll(int startResult, int maxResult,Domain domain) { List<AsseInfoBusi> list = null; Criteria criteria = getSession().createCriteria(AsseInfoBusi.class, "busi").addOrder(Order.desc("id")) .setFirstResult(startResult).setMaxResults(maxResult); if(domain != null) { criteria.add(Restrictions.eq("busi.domain", domain)); } list = (List<AsseInfoBusi> )criteria.list(); return list; } }