創(chuàng)建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); } } } |
在這個類中實現(xiàn)了IUserDAO接口的方法,并且繼承了HibernateDAOSupport類。這個類的作用是通過hibernate訪問、操作對象,進而實現(xiàn)對
數(shù)據(jù)庫的操作。