文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发JavaJ2EE核心:iBatis DAO入门与进阶二
精品推荐
特别推荐
·实例讲解:Java中的SOAP技术
·Java语言出现的背景 影响及前景
·Java精华积累:初学者都应该搞懂的问题
·Java多媒体框架设计自动播放机实例详解
·如何有效防止Java程序源码被人偷窥?
·Cell插件在J2EE系统中的应用
·初学者想学Hibernate,初级基础教程
·Java语言实现支持视频点播的WEB服务器
·关于Java编程的中文问题的几条分析原则
·确保J2ME无线移动商业应用程序的安全性
热点TOP10
·SCJP认证套题解析(1)
·JavaClassLoader与Package机制
·反射在Java Swing编程中的应用
·基于Java的界面布局DSL的设计与实现
·垃圾清理势在必行——Java垃圾收集算法
·Java应用技巧:对于 Cookie 的操作详解
·Java编译器对于String常量表达式的优化
·基于Java的界面布局 DSL 的设计与实现
·JAVA和.NET两个平台对于安全功能的比较
·浅谈Java中利用JCOM实现仿Excel编程

J2EE核心:iBatis DAO入门与进阶二

日期:2008年6月17日 作者: 查看:[大字体 中字体 小字体]


DAO框架架构

 

由于有了一个可以运行的示例,让我们得以粗略了解DAO框架是如何运作的。在图2表示的顺序图中演示了DAO的工作方式:



 

J2EE核心:iBatis DAO入门与进阶二

点击查看大图





图2. DAO顺序图

 

在开始时,调用DaoManagerBuilder.buildDaoManager()并传入DAOMap.xml来初始化DAO框架。在这个方法中DAO框架会读取DAOMap.xml并且由此生成相应的DAOManager对象。这个对象包括了对支持的数据存储机制的描述。哪个接口会被实现,哪个是接口和存储机制结合的实现类?基本上这是和DAOMap.xml文件相等的 Java对象。

 

当有了DAOManager对象,可以从中得到ContactDAO接口的SQL Map实例。DAO框架会返回一个包装了实现类的DaoProxy对象。在本例子中将给SQLMapContactDAO返回一个DaoProxy对象。这个DaoProxy对象允许DAO框架截获调用商业方法。本例中,当调用 contactDAO.selectContact()时,DAO框架会截获这个调用并检查事务处理是否已经开始执行,如果没有,它将调用事务管理器中的startTransaction()创建一个新的事务处理调用。如果处理已经开始,DaoProxy对象会调用事务中的SQLMapContactDAO中的selectContact()方法。当selectContact()调用返回的时候,DaoProxy对象截获返回并提交给事务。

 

如果不希望事务在方法层上可见,或者希望在一个事务中调用多个不同的方法,则可在调用ContactDAO中的商业方法前调用daoManager.startTransaction(),然后在daoManager.startTransaction()执行完以后再提交商业方法。

 

那么现在剩下要关心的事情就是那个模块负责存储机制的初始化并传递控制给存储机制。在这个例子中,就意味着由哪个模块负责将SqlMapConfig.xml的路径传递给SQL Map框架并给它初始化。同样意味着哪个模块负责和SQL Maps框架进行实际的交互。DAO框架为每种存储提供了Template类,在工程中,可以从这个Template类中继承实例类,并只要自己的方法中编写商业事务逻辑。然后将控制传递给这个模板类,它将负责和存储机制的交互。在我们的例子中调用super.queryForObject("getContact",new Integer(contactId)),意味着SqlMapDaoTemplate将负责SQL Maps的初始化和与之交互。

 

初始化存储机制需要相关的一些信息,在例子中初始化需要SqlMapConfig.xml的路径,这个文件中包含驱动类的名字、JDBC URL、登陆信息之类的信息。这些特定的事务管理器需要的信息将会在DaoMap.xml文件中作为一个属性元素传递给管理器。下一节,我们将讨论DAO框架支持哪些事务管理器,每个管理器需要哪些初始化信息。

 

支持的存储管理机制

DAO框架提供了内置的对一些存储管理机制的支持。为了使用其中的一个内置的transactionManagers,需要做两件事情:

 

1.在DAOMap.xml中增加一个元素来声明对存储管理机制的支持。

2.在生成DAO实现类的时候为transactionManager继承适当的Template类。

 

下面我们要研究内置transactionManagers并找出在应用程序中使用如何使用它们。

 

JDBC

 

如果不想使用任何存储框架,不想自己写JDBC代码,那么JDBC事务管理器是很好的选择。如果使用JDBC作为存储机制,则可以使用以下三种连接管理之一:

 

SIMPLE:如果要使用iBatis'自己的连接池实例,可以把SIMPLE作为DataSource元素的值。将通常的JDBC属性(DriverManager类, JDBC URL,等等)传入作为Properties。在iBatis在线文档中查看更多的连接属性。

 

清单5



[1] [2] [3] [4] [5] [6] [7] [8] 下一页 




上一篇:Weblogic Server9新特性:J2EE Libraries

下一篇:J2EE核心:iBatis DAO入门与进阶一

相关文章:
·最详细的黑客入门法则
·从零开始学黑客:网络黑客新手入门指南
·大智慧股票软件Level-2入门手册
·新手入门:操作系统重装完全攻略
·CAD入门教程 锣丝钉
·破解入门教学(二)
·美工LOGO设计进阶
·菜鸟入门 IE浏览器防黑技巧十则
·用Photoshop画漫画教程之基础入门
·Awk 基础入门:Awk 实例编程
相关软件:
·余世维-核心竞争力mp3
·孙鑫VC++从入门到精通开发详解视频教程FLASH版
·Photoshop 入门教程
·CorelDraw12 入门与实例(图文教程 菜鸟先飞系列教材)
·ASP入门教程
·AutoCAD2002入门与实例详解
·Flash MX 从入门到精通
·精通.Net核心技术原理与构架
·汇编语言入门教程PPT
·AutoCAD 14从入门到精通

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot