Dashboard > SpringSide Wiki > HOME > DAO
  SpringSide Wiki Log In | Sign Up   View a printable version of the current page.  
  DAO
Added by SpringSideTeam, last edited by Anonymous on 2007-12-18  (view change)
Labels: 

DAO层指南

1.概述

SpringSide的DAO层两个特点:

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

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

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

   同时,当逻辑比较复杂,Manager类比较庞大时,可以内部重构拆分为Dao与Manager,但这个重构行为是内部的,不造成影响的。因为其他类调用的始终是Manager。而且,dao与manager分开并不是解决复杂度的唯一方式。

   DAO层可选用Hibernate 与 IBatis两种方案,都基于Spring的DAO基类,都有进行泛型与简便方法封装的GenericDao,与处理单个对象CRUD操作的EntityDao两个层次。

2.Hibernate

     Hibernate 毕竟是最强的ORM方案,即使是EJB3的JPA,也没有它那么细致强大。

     Hibernate总述  Hibernate总的资料入口。

     SpringSide的Hibernate封装 SpringSide中的封装介绍,人气颇高的一部分。

     Hibernate Annotation Hibernate Annotation 方式配置映射关系,比hbm文件大幅简化,可以Ruby On Rails一拼了。

3. IBatis

    IBatis适合传统JDBC项目,实施的成本非常低。

    IBatis 总述

Hibernate (SpringSide Wiki)
iBatis (SpringSide Wiki)
JdbcTemplate (SpringSide Wiki)

Site powered by a free Open Source Project / Non-profit License (more) of Confluence - the Enterprise wiki.
Learn more or evaluate Confluence for your organisation.
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.2.9 Build:#527 2006-09-07) - Bug/feature request - Contact Administrators