package cn.itbaizhan.dao.impl; import java.util.Date; import java.util.List; import javax.annotation.Resource; import org.springframework.orm.hibernate3.HibernateTemplate; import org.springframework.stereotype.Component; import cn.itbaizhan.dao.MessageDao; import cn.itbaizhan.po.Message; // 实现了MessageDao接口的类,用于处理Message对象的数据库操作 @Component("messageDaoImpl") public class MessageDaoImpl implements MessageDao { // 使用spring对Hibernate的模版 HibernateTemplate @Resource(name="hibernateTemplate") private HibernateTemplate hibernateTemplate; // 删除指定的Message对象 public void delete(Message message) { hibernateTemplate.delete(message); } // 查询所有的Message对象列表 @SuppressWarnings("unchecked") public List findAllMessages() { String hql = "from Message"; return (List)hibernateTemplate.find(hql); } // 根据ID查询指定的Message对象 public Message findMessageById(int id) { Message message = (Message)hibernateTemplate.get(Message.class, id); return message; } // 保存新的Message对象 public void save(Message message) { System.out.println(message); hibernateTemplate.save(message); } // 获取HibernateTemplate对象 public HibernateTemplate getHibernateTmeplate() { return hibernateTemplate; } // 设置HibernateTemplate对象 public void setHibernateTmeplate(HibernateTemplate hibernateTemplate) { this.hibernateTemplate = hibernateTemplate; } // 根据用户名查询唯一的Message对象 public Message queryMessage(String username) { return (Message)hibernateTemplate.getSessionFactory().openSession().createQuery( "from Message m where m.username=? ").setParameter( 0, username).uniqueResult(); } }