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.VirusDao; import edu.sjtu.infosec.ismp.manager.VPM.vm.model.Virus; public class VirusDaoImpl extends HibernateDaoSupport implements VirusDao { public void addVirus(Virus virus) throws Exception { getHibernateTemplate().saveOrUpdate(virus); } public void deleteVirus(Virus virus) throws Exception { getHibernateTemplate().delete(virus); } public void updateVirus(Virus virus) throws Exception { getHibernateTemplate().saveOrUpdate(virus); getHibernateTemplate().flush(); } @SuppressWarnings("unchecked") public List<Virus> findAllVirus() throws Exception { List<Virus> list = getHibernateTemplate().loadAll(Virus.class); return list; } public Virus findVirusById(int id) throws Exception { Virus virus = (Virus)getHibernateTemplate().get(Virus.class, id); return virus; } @SuppressWarnings("unchecked") public List<Virus> findAllVirus(int startResult, int maxResult) throws Exception { String hql = "from Virus order by lastFindTime desc"; Session session = this.getSession(); Query query = session.createQuery(hql); query.setFirstResult(startResult); query.setMaxResults(maxResult); List<Virus> list = query.list(); return list; } @SuppressWarnings("unchecked") public long findAllNum() throws Exception { String hql = "select count(id) from Virus"; List<Long> list = getHibernateTemplate().find(hql); long num = 0; if(list!=null && list.size()>0){ num = list.get(0); } return num; } }