常言笑的家

Spring, Hibernate, Struts, Ajax, RoR

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... s) 

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

   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> {}

4. IBatisGenericDao

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

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

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

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

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

    4.由于IBatis本身的特性,因此有少数方法的使用和HiberGenericDAO不太一样,如save传入的必须是一个指定操作方式的map(参看helloworld下面的UserManagerIBatisTest)

5. IBatisEntityDao

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

								public class BookManager extends IBatisEntityDao<Book> {}

posted on 2006-12-16 22:42 常言笑 阅读(803) 评论(0)  编辑  收藏 所属分类: JAVA/J2EE


只有注册用户登录后才能发表评论。


网站导航:
 

My Links

Blog Stats

常用链接

留言簿(5)

随笔分类

随笔档案

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜