技术开发 频道

Struts+Spring+Hibernate快速入门



五、创建DAO访问对象
  
  1. 在src/com.jandar.service.dao新建IDAO.java接口,所有的DAO都继承该接口
  
  package com.jandar.services.dao;      public interface IDAO      2. 在src/com.jandar.service.dao下新建IUserDAO.java接口      public interface IUserDAO extends DAO {   List getUsers();   User getUser(Integer userid);   void saveUser(User user);   void removeUser(Integer id);   }


  该接口提供了访问对象的方法,
  
  3. 在src/com.jandar.service.dao.hibernate下新建UserDAOHiberante.java

 import java.util.List;   import org.apache.commons.logging.Log;   import org.apache.commons.logging.LogFactory;   import org.springframework.orm.hibernate.support.HibernateDaoSupport;   import com.jandar.model.User;   import com.jandar.service.dao.IUserDAO;      public class UserDaoHibernate extends HibernateDaoSupport implements IUserDAO {      private Log log=LogFactory.getLog(UserDaoHibernate.class);   /* (非 Javadoc)   * @see com.jandar.dao.IUserDAO#getUsers()   */      public List getUsers() {   return getHibernateTemplate().find("from User");   }      /* (非 Javadoc)   * @see com.jandar.dao.IUserDAO#getUser(java.lang.Long)   */      public User getUser(Integer id) {   // TODO 自动生成方法存根   return (User) getHibernateTemplate().get(User.class,id);   }      /* (非 Javadoc)   * @see com.jandar.dao.IUserDAO#saveUser(com.jandar.model.User)   */      public void saveUser(User user) {   log.debug("xxxxxxx");   System.out.println("yyyy");   getHibernateTemplate().saveOrUpdate(user);   if(log.isDebugEnabled())   {   log.debug("userId set to "+user.getId());   }   }      /* (非 Javadoc)   * @see com.jandar.dao.IUserDAO#removeUser(java.lang.Long)   */      public void removeUser(Integer id) {   Object user=getHibernateTemplate().load(User.class,id);   getHibernateTemplate().delete(user);   if(log.isDebugEnabled()){   log.debug("del user "+id);   }   }   }

  在这个类中实现了IUserDAO接口的方法,并且继承了HibernateDAOSupport类。这个类的作用是通过hibernate访问、操作对象,进而实现对数据库的操作。

0
相关文章