中国java开源文档大全
java教程,java开源文档大全
java教程,java开源文档大全
首页 java基础 web开发框架 开发工具 应用系统 组件类库 搜索爬虫 J2EE服务器 持久层相关 测试工具 访客留言 投稿专栏 站内搜索
java教程,java开源文档大全
>首页 -> 持久层相关 -> IBATIS

TOP

将Hibernate框架和iBatis两Orm框架整合,取长补短
[ 录入者:admin | 时间:2007-12-01 05:17:24 | 作者: | 来源:原创 | 浏览:13次 ]
  java开源文档大全致力于打造中国最大最全的开源文档,它提供了最全面最权威的开源资料,同时为大家提供一个交流的平台,如果您有好的想法,欢迎您投稿.


由于Hibernate框架比较适合对数据进行增,删,改的操作,而iBatis适合进行数据 查询,批量操作,而且方便利用DB底层的功能,因此我尝试着持久层同时使用Hibernate框架和iBatis。
以下是我BaseDaoImpl的代码:
代码

即以组合方式,将Hibernate框架Template和sqlMapClientTemplate集成起来,完成类似SqlMapClientDaoSupport和Hibernate框架DaoSupport的工作,由于Java无法多类继承,所以只得以组合方式来做。不过Spring的两个Support代码不多,自己做满好,满好--记得这是梁家辉在《棋王》上最爱说说的:)
在Spring中的主要配置是这样的:
首先配置Hibernate框架的SessionFactory:
代码

再是iBatis的sqlMapClient
代码

两者是useTransactionAwareDataSource属性都设置为ture,看Spring的Javadoc,说这可以在多Orm框架中保持事务的一致性,即通过DataSource关联,果真如此否?我还没有确定出来。
事务管理器,用Hibernate框架的
代码

然后做两个Dao,一个是CustomerDao,这个走Hibernate框架,直接看其实现:
代码

再看OrderDao的实现,这个走iBatis(先分道扬镳,再殊途同归):
代码

再在一个Service中同时用这两上Dao完成一个事务:
代码

插入一条Customer记录,再Update所有Order(纯粹研究,没有实际意义)
走:
代码

我测试了一下,如果iBatis的操作有问题,Customer也是没有办法插入了,所以基本上判断,这两个框架是可以做事务的。
各位看客以为如何?引玉中....

hiTestPro.rar
 描述: 源码
下载
 文件名: hiTestPro.rar
 文件大小: 99 KB
 下载过的: 文件被下载或查看157 次

  java开源文档研究struts,webwork,spring,tomcat,jboss,lucense,nutch,JUnit,eclipse......,如果您有什么意见,欢迎评论和留言.
[下一篇]iBATIS 2.2 发布 [上一篇]『讨论』ibatis的翻页

评论

称  呼:
内  容:

google

相关栏目

最新文章

热门文章

推荐文章

更多友情链接>>>