文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发JavaJ2EE核心:iBatis DAO入门与进阶二
精品推荐
特别推荐
·实例讲解:Java中的SOAP技术
·Java语言出现的背景 影响及前景
·Java精华积累:初学者都应该搞懂的问题
·Java多媒体框架设计自动播放机实例详解
·如何有效防止Java程序源码被人偷窥?
·Cell插件在J2EE系统中的应用
·初学者想学Hibernate,初级基础教程
·Java语言实现支持视频点播的WEB服务器
·关于Java编程的中文问题的几条分析原则
·确保J2ME无线移动商业应用程序的安全性
·Java开源技术:Eclipse的使用技巧详解
·新手入门:Java中的修饰词使用方法总结
·JAVA开发者应该去的20个英文网站
·使用JDBC创建数据库访问程序
·JDK的命令详解
·Java学习从入门到精通(附FAQ)
·Tomcat性能调整
·JSF:Java中面向Web开发的生旦净末丑
·对Java语言入门初学者的一些建议
·Java技术的新方向
热点TOP10
·Java图形用户界面设计
·在桌面应用中使用JAVA DB
·3D编程指南第一部分:快速进入移动JAVA 3D编程世界
·java swing的拖放例子
·用Java编写的记事本程序(1)
·用Java编写的记事本程序(3)
·JasperReport经验谈
·图解JBuilderX安装与实践
·struts+spring+ibatis轻量级J2EE开发
·用java编写的小游戏源代码分析
·单源点最短路径Dijkstra算法的JAVA实现
·实例讲解:Java中的SOAP技术
·初学者想学Hibernate,初级基础教程
·中国农历二百年算法及年历程序分析一
·Java语言出现的背景 影响及前景
·用Java实现SMTP服务器
·Java Applet 入门第三天
·用Java编写的记事本程序(2)
·Java学习从入门到精通(附FAQ)
·通过JCA实现企业级应用程序的“即插即用”

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入门与进阶一

J2EE核心:iBatis DAO入门与进阶二 相关文章:
·最详细的黑客入门法则
·高手进阶,终极内存技术指南——完整/进阶版
·大智慧股票软件Level-2入门手册
·从零开始学黑客:网络黑客新手入门指南
·用Photoshop画漫画教程之基础入门
·Visual C++ ADO数据库编程入门
·[前锋]街头篮球大前锋完全技术指导 进阶教程
·破解入门教学(二)
·网页设计基础:Div+CSS布局入门教程
·MyEclipse JSF 快速入门中文版(上)
J2EE核心:iBatis DAO入门与进阶二 相关软件:
·孙鑫VC++从入门到精通开发详解视频教程FLASH版
·Photoshop 入门教程
·CorelDraw12 入门与实例(图文教程 菜鸟先飞系列教材)
·余世维-核心竞争力mp3
·ASP入门教程
·催眠大师密训专业教程之入门指导手册(繁体版)
·Flash MX 从入门到精通
·AutoCAD2002入门与实例详解
·精通.Net核心技术原理与构架
·钢琴入门

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