[发明专利]一种数据库平台的访问方法无效
申请号: | 201110380076.8 | 申请日: | 2011-11-24 |
公开(公告)号: | CN102521277A | 公开(公告)日: | 2012-06-27 |
发明(设计)人: | 李国栋;李海辉;张青会 | 申请(专利权)人: | 广东高新兴通信股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 邱奕才;禹小明 |
地址: | 510530 广东省广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 平台 访问 方法 | ||
技术领域
本发明涉及通信行数据处理技术领域,特别涉及一种数据库平台的访问方法。
背景技术
现有的软件系统中往往一个软件只能对应一种数据库,比如ORACLE、SQL、MySQL等,缺乏灵活性。但是通常情况下,每个客户由于自己的数据或者性能要求,对于数据库要求也可能不一样。这样就会导致一个软件对于不同的数据库需要作不同的处理,相当于开发多套程序,开发人员工作量大(比如每个功能对于不同的数据库,可能要编写不同的SQL语句),维护代价大(比如在使用中发现某个功能有缺陷,调整时需要对于不同的数据库都要调整),软件使用非常不灵活。
发明内容
本发明要解决的问题是克服现有技术的不足而提供一种能用统一接口访问多种数据库平台的数据库平台的访问方法。
为实现上述目的,本发明的技术方案为:一种数据库平台的访问方法,访问系统的逻辑分层包括持久对象层、业务逻辑层和数据库访问层,所述访问方法包括如下步骤:
客户端把需要入库的数据组合成为一个持久对象传入到业务逻辑层;
在业务逻辑层对客户端传入的数据进行有效性验证,如果验证无效,则返回给客户端,如果验证有效,则通过统一的数据访问接口传入到数据库访问层;
数据库访问层判断当前使用的数据库是ORACLE或SQL或MySQL;判断后调用不同的访问方式,将客户端传入的数据写入到当前数据库中;
数据库访问层将数据入库,失败则返回入库失败的信息,成功则返回数据入库成功信息。
进一步的,所述在业务逻辑层对客户端传入的数据进行有效性验证条件为字段是否为空或字段是否符合数据库的字段要求。
与现有技术相比,本发明具有如下有益效果:
本发明利用了业务逻辑层与数据库访问层的分层方式,统一了业务逻辑层对数据库访问层的接口,可以通过配置适应多种数据库平台,同时支持多个数据库,如ORACLE、SQL、MySQL。
附图说明
图1 为本发明逻辑分层结构图;
图2 为本发明访问流程图。
具体实施方式
以下结合实施例及附图对本发明进行详细的描述。
数据库(DataBase,DB)是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。它是一个按数据结构来存储和管理数据的计算机软件系统。
而对象-关系映射(Object/Relation Mapping,简称ORM)是随着面向对象的软件开发方法发展而产生的。面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,对象-关系映射(ORM)系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。
如图1所示,本发明数据库平台的访问系统的逻辑分层为持久对象层、业务逻辑层和数据库访问层。
采用ORM方法要求在设计中首先要分析问题域,找出所有问题域中相关事务,从中抽象出对象;然后从抽象中的对象中找到所有的持久化对象(PO,Persistent Object),所谓持久对象就是由数据库管理系统负责管理的,可以持久保留,将来可被提取的对象,将这些持久对象以“一类一表格”的原则映射到数据库中,通过数据库管理系统建立表格;然后定义持久对象。持久化对象层在系统中被业务逻辑层和数据库访问层使用。
业务逻辑层逻辑分层结构的位置很关键,其处于数据库访问层与表示层(即客户端)中间,起到了数据交换中承上启下的作用,同时用于做一些有效性验证的工作,以更好的保证程序运行的健壮性。验证完成后,通过统一的数据访问接口传入到数据库访问层。
统一的数据库访问层对应不同的数据库,均采用统一的数据访问接口,统一了业务层对数据库访问层的接口。数据库访问层根据业务逻辑层传入的数据分辨出当前的系统对应的数据库是什么,是ORACLE,还是SQL,或者其它数据库。在数据库访问层中,所有持久对象均采用“双构造函数”方法在程序中进行构造,其中,一个构造函数参数为所有初始化该持久对象的值,封装数据模块中“存”操作,另一个构造函数的参数为唯一标识该持久对象的值,封装数据模块中“取”操作。其它数据库操作由相应方法封装,所有与数据库层发送交互的动作,均放在专门的数据模块中,由中间件层相应方法封装。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东高新兴通信股份有限公司,未经广东高新兴通信股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110380076.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:LED球泡灯
- 下一篇:功率节省系统及功率节省方法