[发明专利]一种对象查询方法和装置有效
申请号: | 200910087324.2 | 申请日: | 2009-06-23 |
公开(公告)号: | CN101582079A | 公开(公告)日: | 2009-11-18 |
发明(设计)人: | 黄海峰 | 申请(专利权)人: | 用友软件股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市隆安律师事务所 | 代理人: | 权鲜枝 |
地址: | 100094北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 对象 查询 方法 装置 | ||
技术领域
本发明涉及数据库技术,特别涉及一种对象查询方法和装置。
背景技术
在目前的软件开发系统中,结构化查询语言(SQL:Structured QueryLanguage)由于具有结构简洁等诸多优点而被用户广泛应用。SQL是一种数据库查询和程序设计语言,按照美国国家标准协会的规定,SQL被作为关系型数据库管理系统的标准语言。其中,在逻辑代码中编译SQL语句能够实现数据库的查询操作。
具体地,现有的利用SQL语句对数据库执行查询操作包括:根据业务需求打开对应的数据库;与数据库建立连接;之后,用户在逻辑代码中根据当前需求编写SQL查询语句,通过这些SQL查询语句实现数据库的查询操作。
然而,用户编译SQL查询语句是一个非常复杂的过程,具体体现在:在编写SQL查询语句时,需要遵循与数据库表信息有关的SQI编译规范,其中,数据库表信息具体为数据库表名、该数据库表中的字段以及该字段表示的意义等,如此,就要求用户在编译SQL语句时,需要对数据库了如指掌,如此加大了用户的编程工作量,也大大提高了编程门槛;并且,由于SQL查询语句是面向过程的,而该语句还需要遵循与数据库表信息有关的SQI编译规范,这会使编写出来的代码很长,大大增加了维护成本。
发明内容
本发明提出了一种对象查询方法和装置,无需用户编译复杂的查询语句。
为达到上述目的,本发明的技术方案包括:
一种对象查询方法,该方法包括:
步骤A,根据业务需求建立元数据模型;生成所述元数据模型对应的对象代码;
步骤B,根据所述对象代码和预定义的持久化引擎查询接口执行查询操作。
可选的,所述元数据模型中包含一个以上的数据传输对象DTO;
所述步骤A中根据业务需求建立元数据模型包括:
步骤A1,若当前存在与所述业务需求对应的数据库,则根据所述业务需求从数据库中拖拽出一个以上的DTO,根据已设置的DTO关联关系信息建立包含拖拽出的DTO的元数据模型;
步骤A2,若当前不存在与所述业务需求对应的数据库,根据所述业务需求配置DTO;根据配置的DTO中的属性字段建立包含该配置的DTO的元数据模型。
较佳的,在步骤A2完成建立元数据模型后,进一步包括:根据该元数据模型生成对应的数据库。
其中,所述步骤B包括:
步骤B1,将所述对象代码编译成业务对象库;其中,该业务对象库包含一个以上的业务对象;
步骤B2,在业务逻辑代码中根据当前需求使用对应的业务对象编写对象查询语言OQL语句,将该OQL语句作为预定义的持久化引擎查询接口的参数实现查询操作。
其中,所述步骤B2中将该OQL语句作为预定义的持久化引擎查询接口的参数实现查询操作包括:
步骤B21,预定义的持久化引擎在所述持久化引擎查询接口上接收到查询触发后,判断当前是否缓存了需要查询的业务数据,如果是,执行步骤B22;否则,执行步骤B23;
步骤B22,通过深度克隆的方式提供该业务数据;
步骤B23,从已缓存的元数据中查找要使用的业务对象对应的元数据,如果查找到,根据该查找到的元数据去数据库中获取并提供相应的业务数据。
一种对象查询装置,该装置包括:数据设计模块和持久化引擎模块;其中,
所述数据设计模块用于根据业务需求建立元数据模型;以及生成所述元数据模型对应的对象代码;
所述持久化引擎模块用于根据所述对象代码和预定义的持久化引擎查询接口执行查询操作。
可选的,所述元数据模型中包含一个以上的数据传输对象DTO;
所述数据设计模块包括:
判断单元,用于判断当前是否存在与所述业务需求对应的数据库;
第一模型生成单元,用于当所述判断单元判断出当前存在与所述业务需求对应的数据库时,则根据所述业务需求从数据库中拖拽出一个以上的DTO,根据已设置的DTO关联关系信息建立包含拖拽出的DTO的元数据模型;
第二模型生成单元,用于当所述判断单元判断出当前不存在与所述业务需求对应的数据库时,根据所述业务需求配置DTO;根据配置的DTO中的属性字段建立包含该配置的DTO的元数据模型。
较佳的,所述第二模型生成单元完成建立元数据模型后,进一步根据该元数据模型生成数据库。
其中,所述持久化引擎模块包括:
编译单元,用于将所述对象代码编译成业务对象库;其中,该业务对象库包含一个以上的业务对象;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于用友软件股份有限公司,未经用友软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910087324.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种便盆洁具冲洗喷射闸阀
- 下一篇:布袋除尘器卸灰阀