首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

泛型Dao-减小重复的Dao代码,用Hibernate实现

2012-10-28 
泛型Dao-减少重复的Dao代码,用Hibernate实现Data Access Object (DAO) 是一般的J2EE项目中的一个常见的模

泛型Dao-减少重复的Dao代码,用Hibernate实现
     Data Access Object (DAO) 是一般的J2EE项目中的一个常见的模块,在我们用一般的方法去实现DAO的过程中会发现在为每个pojo实现DAO的的时候会不断地区重复的写一些常用的方法,如update(),delete(),find()等。
    
    为了解决以上所述的缺点,可以采用DAO用泛型实现的方法,把通用的方法抽出来放到基类中,以后为pojo实现DAO的时候只要继承DAO基类就可以复用这些通用方法。这样的做法即保证了代码的复用,又保证了类型的安全。

下面例子为以前一个项目中的代码片段:
代码说明:
IBaseDao          是DAO基类的接口
BaseHibernateDao  是DAO的Hibernate实现基类(实现了接口IBaseDao)
IUserDao          是具体的DAO接口,用于持久化用户数据(继承了接口IBaseDao)
UserHibernateDao  是具体的DAO的Hibernate实现,持久化用户数据(继承了BaseHibernate 并实现了接口 IUserDao)

UserHibernateDao 继承了BaseHibernateDao的所有功能,在新建一个DAO时
只要用 XxxxxHibernateDao extends BaseHibernate就可以继承BaseHibernate的所有功能。


1.DAO基类接口



3.具体的DAO接口(继承IBaseDao):
  <property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>

不可理喻啊。 2 楼 hongshenghome 2010-10-14   直接写成一个类就行了,没必要写成接口,写成了反而增加spring配置代码

热点排行