详细介绍 Hibernate 泛型 DAO 及其使用方法

本文介绍了一种在Spring+Hibernate框架下使用的通用泛型DAO实现方法,包括定义泛型DAO接口和其实现类,以及如何在业务对象中使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编写Spring+Hibernate框架下的应用,总是离不了编写一个通用的泛型GenericHibernateDao。查阅了网上不少的GenericHibernateDao实现,归纳整理为如下实现,供后续编码参考。

 首先定义接口泛型DAO接口 GenericDao

 

 实现GenericDao接口的Hibernate的实现类 GenericHibernateDao

//以上代码来自网上收集


以上就实现了泛型的 Hibernate Dao 了,下面的例子就是业务对象对 GenericHibernateDao的使用

业务对象 Article 对应文章表的 aticle 表

定义 Article 业务对象的Dao 接口 IArticleDao ,它继承自 GenericDao 接口,以获得其中的方法

你可以在 IArticleDao 中添加 Article 业务对象特有的方法,也可以直接使用 GenericDao 中提供的所有方法IArticleDao接口指定业务对象的类型和主键的类型 <Article,Long>

然后就可以定义 ArticleHibernateDao 类了,它只要实现 IArticleDao 接口并继承 GenericHibernateDao 类 就可以使用所有的 Generic 接口和  IArticleDao 接口中的定义的方法。如果你在 IArticleDao 接口里指定了Article业务对象特有的方法,就在ArticleHibernateDao实现这些方法。而Generic 接口中的方法,在ArticleHibernateDao 的父类 GenericHibernateDao 中已经全部实现了,直接调用就可以方便的访问数据库。

其他的业务对象也可以参照 Article 和 ArticleHibernateDao 类来定义 , GenericDao 接口中有的通用方法就直接调用,不足的以后补充,其他业务对象特有的方法就 在其他业务对象的 Dao接口(继承GenericDao接口) 中定义并通过 GenericHibernateDao  子类来实现。 节省很多重复代码,简单几步就可以使用GenericDao接口的实现类 GenericHibernateDao 方便地访问数据库。

最后提供一个 Article 业务对象的 Hibernate 映射文件 和 建表SQL脚本 和 一个 ArticleHibernateDao 类的测试类

Article的映射文件

 

 Article对应的article表的建表脚本

 

 ArticleHibernateDao的测试类,只提供了seve(article) 方法的测试代码

 

 以上代码在集成了 Hibernate 的 Spring 框架下调试通过,仅供学习参考,请自行搭配你的环境来调试,本人也是自己初学,有没说清楚的地方敬请指教


本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/azheng270/archive/2008/03/31/2232044.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值