package edu.sjtu.infosec.ismp.manager.VPM.vm.dao.impl; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import edu.sjtu.infosec.ismp.manager.VPM.vm.dao.VirusAlertDao; import edu.sjtu.infosec.ismp.manager.VPM.vm.model.VirusAlerts; public class VirusAlertDaoImpl extends HibernateDaoSupport implements VirusAlertDao { public void addVirusAlert(VirusAlerts virusAlert) throws Exception { getHibernateTemplate().saveOrUpdate(virusAlert); } public void deleteVirusAlert(VirusAlerts virusAlert) throws Exception { getHibernateTemplate().delete(virusAlert); } public void updateVirusAlert(VirusAlerts virusAlert) throws Exception { getHibernateTemplate().saveOrUpdate(virusAlert); getHibernateTemplate().flush(); } @SuppressWarnings("unchecked") public List<VirusAlerts> findAllVirusAlert() throws Exception { List<VirusAlerts> list = getHibernateTemplate().loadAll(VirusAlerts.class); return list; } public VirusAlerts findVirusAlertById(int id) throws Exception { VirusAlerts virusAlert = (VirusAlerts)getHibernateTemplate().get(VirusAlerts.class, id); return virusAlert; } @SuppressWarnings("unchecked") public List<VirusAlerts> findAllVirusAlert(int startResult, int maxResult) throws Exception { String hql = "from VirusAlerts order by virus.lastFindTime desc"; Session session = this.getSession(); Query query = session.createQuery(hql); query.setFirstResult(startResult); query.setMaxResults(maxResult); List<VirusAlerts> list = query.list(); return list; } @SuppressWarnings("unchecked") public long findAllNum() throws Exception { String hql = "select count(id) from VirusAlerts where virus is not null"; List<Long> list = getHibernateTemplate().find(hql); long num = 0; if(list!=null && list.size()>0){ num = list.get(0); } return num; } }