5 调用高级数据存取框架
以会话Bean为例,说明如何调用高级数据存取框架。会话Bean所含的相应方法接收到参数后,先检验输入合法性和权限等业务,再调用DAccess类进行数据存取操作。
6 分析研究高级数据存取框架
为了解决数据库类型和数据存储形式的差异,Sun JavaCenter提出了数据访问对象(Data Access Obiect,简称DAO)模式,使用DAO抽象和封装所有对数据源的访问和连接,提供用户统一的访问方法,其内部实现对用户是透明的。基于DAO模式的实现框架有多种方式。
(1)JDBC方式将JDBC API操作封装成高级类,供会话组件调用,该类包括存取数据分和获取数据库连接。
(2)会话组件方式 使用会话组件控制数据存取,可使用应用服务器所提供的基础结构服务,如声明式访问控制和资源池等,但业务逻辑和持久性逻辑混在一起。
(3)实体组件方式 采用实体组件作为数据存取手段.但导致实体组件的复杂性和性能降低。
其中JDBC方式和所讨论的框架相似,最大不同在于所讨论的框架是将数据库连接部分在会话组件中实现,会话组件中统一关闭连接符。如果连续两次以上访问数据库,则无需重建连接。
基于JDBC的高级数据存取框架把业务逻辑和数据存取部分由不同类处理,彻底解决了二者间的重叠问题。经验证该框架运行良好。在会话Bean中,只需取得与具体数据库的连接以及指定在哪个DAFramework中获得合理DAccess接口实例即可。针对不同的数据库提供商,只需在会话Bean中获得各自的数据连接符,将其传给DAFramework,而不用改变框架类中的代码,测试结果证明,该数据存取框架相比传统的数据存取方法易于实现代码级复用。
异常分级处理实现是将JDBC异常转换成用户理解的普通异常,这需要根据SQLException所含的供应方错误代码及SQLState码分类处理,最后解析出具体错误。
基于JDBC的框架不包含连接数据库,框架内各个组件与具体数据库无关,即当数据库发生非结构性变化时,如服务器位置或数据库类型变更,组件保持不变,故易用应用生成器(Application Generator)自动生成框架实例,并向最终用户提供可视化交互界面。
7 结语
针对应用开发存在的问题,寻求更有效的数据存取方法,提出一种基于JDBC的高级数据存取框架,该框架旨在用于分离持久逻辑与业务逻辑,提高软件开发效率。结合工程实际表明基于JDBC的高级数据存取框架具有优越的代码复用,易于实现。