www.pudn.com > j2EEnews_struts_hibernate_spring.rar > GuestBookDao.java


package com.news.dao.impl; 
 
import java.sql.SQLException; 
import java.util.Date; 
import java.util.List; 
 
import org.hibernate.Query; 
import org.hibernate.classic.Session; 
import org.springframework.orm.hibernate3.HibernateCallback; 
import org.springframework.orm.hibernate3.support.HibernateDaoSupport; 
 
import com.news.bean.Guestbook; 
import com.news.dao.IguestBookDao; 
import com.news.page.Page; 
import com.news.struts.form.GuestForm; 
import com.news.utils.GetDate; 
import com.news.utils.GetId; 
 
public class GuestBookDao extends HibernateDaoSupport implements IguestBookDao{ 
	 
	public void add(GuestForm guestForm){ 
		Guestbook guestbook = new Guestbook(); 
		Date d = new Date(); 
		guestbook.setId(GetId.getId()); 
		guestbook.setName(guestForm.getName()); 
		guestbook.setNewid(guestForm.getNewid()); 
		guestbook.setGuestdate(GetDate.getDate1(d)); 
		guestbook.setDate2(GetDate.getDate2(d)); 
		guestbook.setGuestcontent(guestForm.getGuestcontent()); 
		guestbook.setImage(guestForm.getImage()); 
		getHibernateTemplate().save(guestbook); 
	} 
	 
	public List getList(Page page,GuestForm guestForm){ 
		final Page p = page; 
		final GuestForm form = guestForm; 
		return getHibernateTemplate().executeFind(new HibernateCallback() { 
			public Object doInHibernate(org.hibernate.Session s) throws org.hibernate.HibernateException, SQLException { 
				Query query = s.createQuery(p.getHql()); 
				query.setParameter(0,form.getNewid()); 
				query.setFirstResult(p.getStartRs()); 
				query.setMaxResults(p.getPerPage()); 
				List list = query.list();				 
				return list; 
			} 
		}); 
	} 
	public int getTotal(String hql,GuestForm guestForm){ 
		//System.out.println("sss"); 
		Session s = getHibernateTemplate().getSessionFactory().openSession(); 
		Query q = s.createQuery(hql); 
		q.setParameter(0,guestForm.getNewid()); 
		List result = q.list(); 
		s.close(); 
		if (null != result && !result.isEmpty()) { 
			return (result.size()); 
		} else { 
			return 0; 
		} 
	} 
}