由于有了一个可以运行的示例,让我们得以粗略了解DAO框架是如何运作的。在图2表示的顺序图中演示了DAO的工作方" />
龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

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

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
DAO 框架架构 ?XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 由于有了一个可以运行的示例,让我们得以粗略了解DAO框架是如何运作的。在图2表示的顺序图中演示了DAO的工作方

DAO框架架构<?XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

 

由于有了一个可以运行的示例,让我们得以粗略了解DAO框架是如何运作的。在图2表示的顺序图中演示了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框架会截获这个调用并检查事务处理是否已经开始执行,假如没有,它将调用事务治理器中的<?xml:namespace prefix = st1 ns = "Tencent" />startTransaction()创建一个新的事务处理调用。假如处理已经开始,DaoProxy对象会调用事务中的SQLMapContactDAO中的selectContact()方法。当selectContact()调用返回的时候,DaoProxy对象截获返回并提交给事务。


  
精彩图集

赞助商链接