JavaScud | Forum | JIRA | Blog |
  Dashboard > SpringSide > Home > DAO
  SpringSide Log In View a printable version of the current page.  
  DAO
Added by Anonymous, last edited by calvin on Sep 15, 2006  (view change)
Labels: 
(None)

DAO层指南

1.概述

SpringSide的DAO层两个特点:

   1.DAO层与Business层合并,且省略DAO接口,用cglib方式实现AOP事务控制。

   2.基于范型的强基类,普通DAO类只要用声明所要管理的Entity类型即拥有完整的CRUD操作。

   结果就是,普通的Manager类只有一个文件,数行代码。

   同时,当逻辑比较复杂,Manager类比较庞大时,可以内部重构拆分为Dao与Manager,但这个重构行为是内部的,不造成影响的。因为其他类调用的始终是Manager。

2. HibernateGenericDao

   SpringSide 在Spring HibernateDaoSupport基础上封装的DAO,功能如下:

   1.应用范型,使得find(), get() 这些函数不再返回Object,不再需要强制类型转换。

   2.提供各种finder的简便函数
      应用了JDK5可变参数的hsql查询函数:List find(String hql, Object... values) 

      简单查询的简化函数:findBy(Class entityClass,String name,Object value) ,findUniqueBy(Class entityClass,String name, Object value),findByLike(Class entityClass,String name,Object value) 

   3.分页函数:Page pagedQuery(Criteria criteria, int pageNo, int pageSize) /Page pagedQuery(String hql, int pageNo, int pageSize, Object... args) 。

   4.判别对象属性在数据库中唯一的函数:isNotUnique(entityClass, Object entity, String names)。

3. HibernateEntityDao

    所有UserManager, ProductManager之类只管理一类对象的Manager类的基类,只需要在类定义处声明Entity类型即可

public class BookManager extends HibernateEntityDao<Book> {}
Site running on a free Atlassian Confluence Open Source Project License granted to WebWork China. Evaluate Confluence today.
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.5.3 Build:#808 May 29, 2007) - Bug/feature request - Contact Administrators