在sakai中使用ibatis之一

计划分四部分说明
第一部分说明sakai插件的代码结构
第二部分说明sakai对hibernate的支持
第三部分说明sakai组件的开发模式
第四部分在sakai加入对ibatis的支持

第零部分
调试,调试,调试。确保你的调试器可用!参考这篇文章设置调试器(http://liuyf.iteye.com/blog/632865)。补充说明一点,对于sakai这种面向接口的程序,静态代码走查的效率相当低下。调试器能帮你找到运行时的具体类,能大大提高代码阅读效率。
第一部分
定义:这里的sakai插件包含数据模型和表现,也就是sakai component和sakai tool.
[img]http://dl.iteye.com/upload/attachment/230424/20ae23c9-b61f-39dc-8a54-5996f529ea38.png[/img]
Sakai component负责业务逻辑(Business Logic)和数据访问(Data Access),tool负责数据展现(Presentation)。Sakai非常非常强调接口编程,各个层之间的访问都是通过接口调用完成的,接口和具体类的映射通过spring完成。Data Access层的接口是xxxDao,其实现是xxxDaoImpl;Business Logic层的接口是xxxLogic,其实现是xxxLogicImpl;在这里的讨论范围内Presentation层是最外层,采用具体类。那么调用顺序有Presentation->xxxLogic->xxxDao。
我用Sakai App Builder(http://confluence.sakaiproject.org/display/BOOT/Sakai+App+Builder)生成了一个sakai的插件sakai-app-intro。下面结合该插件简要说明sakai的插件结构。
[img]http://dl.iteye.com/upload/attachment/230426/5aa49a8f-169e-3d19-a726-547a4e331255.png[/img]
tool/src/java处理servlet请求,调用业务逻辑模块(ExternalLogic和SakaiappintroLogic),业务逻辑模块再调用dao,dao再调用hibernate。注意注意,tool不会调用dao,更不会调用hibernate;业务模块也不会直接调用hibernate。
为什么区分ExternalLogic和SakaiappintroLogic,我还没想很清楚,ExternalLogic可能强调该插件作为基础插件时的接口。
这里的DaoImpl实现了GeneralGenericDao接口,提供hibernate的增删改查功能。
下一部分具体描述sakai对hibernate的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值