Webwork项目总结三(转)
继续哈...呵呵....
看看实际的代码.
我们这次没有用具体的DAO层....我们直接做了一个基类继承了HibernateDaoSupport.
public class AbstractService extends HibernateDaoSupport {
 
 <!--采用log4j来完成调试时的日志功能-->
 private static final Log log = LogFactory.getLog(AbstractService.class);
 
}
    HibernateTemplate提供非常多的常用方法来完成基本的操作,比如通常的增加、删除、修改、查询等操作,Spring 2.0更增加对命名SQL查询的支持,也增加对分页的支持。大部分情况下,使用Hibernate的常规用法,就可完成大多数DAO对象的CRUD操作。下面是HibernateTemplate的常用方法简介:
void delete(Object entity):删除指定持久化实例

deleteAll(Collection entities):删除集合内全部持久化类实例

find(String queryString):根据HQL查询字符串来返回实例集合

findByNamedQuery(String queryName):根据命名查询返回实例集合

get(Class entityClass, Serializable id):根据主键加载特定持久化类的实例

save(Object entity):保存新的实例

saveOrUpdate(Object entity):根据实例状态,选择保存或者更新

 update(Object entity):更新实例的状态,要求entity是持久状态

setMaxResults(int maxResults):设置分页的大小

 

//返回全部的人的实例

  public List getPersons()

   {        

      //通过HibernateTemplatefind方法返回Person的全部实例

      return getHibernateTemplate().find("from Person");

   }

/**

  * 根据主键返回特定实例

  * @ return 特定主键对应的Person实例

  * @ param 主键值

**/

  public News getNews(int personid)

    {

       return (Person)getHibernateTemplate().get(Person.class, new Integer(personid));

    }

/**

  * @ person 需要保存的Person实例

 */

 public void savePerson(Person person)

    {                 

       getHibernateTemplate().saveOrUpdate(person);

    }

 /**

   * @ param personid 需要删除Person实例的主键

   * /

 public void removePerson(int personid)

    {

       //先加载特定实例

       Object p = getHibernateTemplate().load(Person.class, new Integer(personid));

       //删除特定实例

       getHibernateTemplate().delete(p);

     }

}

lunzi   2007-06-21 19:38:50 评论:0   阅读:300   引用:0

发表评论>>

署名发表(评论可管理,不必输入下面的姓名)

姓名:

主题:

内容: 最少15个,最长1000个字符

验证码: (如不清楚,请刷新)

Copyright@2008 powered by YuLog