package edu.sjtu.infosec.ismp.manager.RAM.dao.impl; import java.util.List; import java.util.Map; import org.hibernate.Criteria; import org.hibernate.criterion.Expression; import org.hibernate.criterion.Order; import org.hibernate.criterion.Projections; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import edu.sjtu.infosec.ismp.manager.RAM.dao.DicAsseStatDao; import edu.sjtu.infosec.ismp.manager.RAM.model.AsseKnowDicAsseStat; import edu.sjtu.infosec.ismp.manager.comm.model.page.Page; /** * 数据层 测评状态数据字典Dao实现类. * */ public class DicAsseStatDaoImpl extends HibernateDaoSupport implements DicAsseStatDao { /** * 查询测评状态 * * @param asseStatId * 测评状态编号 * @return 测评状态对象 */ public AsseKnowDicAsseStat find(String asseStatId) { return (AsseKnowDicAsseStat) getHibernateTemplate() .find("from AsseKnowDicAsseStat dicAsseStat where dicAsseStat.asseStatId = ?", asseStatId); } /** * 查询测评状态记录数 * * @param paramMap * 查询条件 * @return 测评状态记录数 */ public int getCount(Map paramMap) { Criteria criteria = getSession().createCriteria(AsseKnowDicAsseStat.class); criteria.setProjection(Projections.rowCount()) .setMaxResults(1) .uniqueResult(); if(paramMap!=null) { if(paramMap.get("asseStatName")!=null) { criteria.add(Expression.like("asseStatName", "%"+((String) paramMap.get("asseStatName")).trim()+"%")); } } return ((Integer) criteria.list().get(0)).intValue(); } /** * 查询测评状态 * @param paramMap * 查询条件 * @return 测评状态列表 */ public List listDicAsseStat(Map paramMap) { List list = null; Criteria criteria = getSession().createCriteria(AsseKnowDicAsseStat.class) .addOrder(Order.asc("id")); if(paramMap!=null) { if(paramMap.get("asseStatName")!=null) { criteria.add(Expression.like("asseStatName", "%"+((String) paramMap.get("assetKindName")).trim()+"%")); } } return criteria.list(); } /** * 查询测评状态分页记录 * * @param page * 分页对象 * @param paramMap * 查询条件 * @return 分页记录列表 */ public List listDicAsseStatPage(Page page, Map paramMap) { List list = null; Criteria criteria = getSession().createCriteria(AsseKnowDicAsseStat.class) .addOrder(Order.asc("id")) .setFirstResult(page.getBeginIndex()) .setMaxResults(page.getEveryPage()); if(paramMap!=null) { if(paramMap.get("asseStatName")!=null) { criteria.add(Expression.like("asseStatName", "%"+((String) paramMap.get("assetKindName")).trim()+"%")); } } return criteria.list(); } /** * 删除测评状态 * * @param dicAsseStat * 测评状态 */ public void remove(AsseKnowDicAsseStat dicAsseStat) { getHibernateTemplate().delete(dicAsseStat); } /** * 保存/更新测评状态 * * @param dicAsseStat * 测评状态 */ public void saveOrUpdate(AsseKnowDicAsseStat dicAsseStat) { getHibernateTemplate().saveOrUpdate(dicAsseStat); } }