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 总述