[发明专利]数据库存储和查询方法、属性值获取方法和设备有效

专利信息
申请号: 201610035963.4 申请日: 2016-01-20
公开(公告)号: CN105718556B 公开(公告)日: 2019-06-04
发明(设计)人: 刘锟洋 申请(专利权)人: 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司
主分类号: G06F16/245 分类号: G06F16/245
代理公司: 中科专利商标代理有限责任公司 11021 代理人: 吕雁葭
地址: 100080 北京市海淀区杏石口路6*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 数据库 存储 查询 方法 属性 获取 设备
【说明书】:

发明提供了一种数据库存储和查询方法、属性值获取方法和设备。根据本发明,将Java对象的MongoDB属性值与Java对象的Mysql主键ID一起存储。在查询时,如果查询对象含有MongoDB属性,则生成按需加载的代码,并将该代码与Mysql属性值一起组装成代理对象作为查询结果对象。在获取属性值时,调用该按需加载的代码,从MongoDB数据库获取相应的MongoDB属性值。

技术领域

本发明总体上涉及数据库领域,具体地涉及一种数据库存储和查询方法、属性值获取方法和设备。更具体地,本发明涉及一种统一Mysql与MongoDB存取方式的数据库存储和查询方法、属性值获取方法和设备。

背景技术

Mysql是一种关系型数据库管理系统,其将数据保存在不同的表中,通常为web系统最主要的持久化工具。MongoDB是一个基于分布式文件存储的数据库,是非关系型数据库当中功能最丰富,与关系型数据库最相似的。在web系统中,通常用Mongo存取长文本字段(即,字符长度大于255的字段)。

在编写Java程序时,经常需要同时查询Mysql和MongoDB的数据。现有技术通常采用以下方法:首先,使用Java Annotation(以下简称“Annotation”)技术对需要存放到MongoDB的Java属性做标记;然后,将剩余需要映射到Mysql的Java属性配置好iBatis ORM框架的配置文件;最后,在编写Dao层代码时使用指定API(Application ProgrammingInterface,应用程序编程接口)查询数据,实现数据的组装。这里使用的iBatis ORM框架是一个将Java对象和属性映射成为数据库的一条记录和字段的映射框架。

图1示出了该现有技术的具体实现步骤。如图1所示,在步骤S110,调用API查询数据。在步骤S120,根据查询的Java实体找到对应的iBatis配置文件,从Mysql中查询出数据。在步骤S130,使用Java Annotation技术,判断当前Java实体是否有属于MongoDB的属性,若有,进行到步骤S140,若无,进行到步骤S170,返回数据,结束查询。在步骤S140,再次使用Java Annotation技术获取到实体中的MongoDB属性列表。在步骤S150,从MongoDB中查询出关联数据。在步骤S160,将Mysql和MongoDB查询的数据做组装。在步骤S170,返回数据,结束查询。

现有技术方案在每次查询时默认会把存储在MongoDB中的数据读取出来,不能灵活控制获取MongoDB属性的时机,导致MongoDB数据的读取频率很高,查询延时明显增加。

发明内容

本发明的一个方面提供了一种数据库存储方法,包括:根据与Java对象相对应的iBatis配置文件将Java对象中的Mysql属性值存储到Mysql数据库,并获取该Java对象在Mysql数据库中的Mysql主键ID;确定Java对象中是否有要存储到MongoDB数据库的MongoDB属性值;如果Java对象中没有要存储到MongoDB数据库的MongoDB属性值,则结束本次存储;以及如果Java对象中有要存储到MongoDB数据库的MongoDB属性值,则把要存储到MongoDB数据库的MongoDB属性值与该Java对象的Mysql主键ID一起存入MongoDB数据库中,结束本次存储,其中,MongoDB属性值所属MongoDB属性对应有作为查询结果对象的代理对象,所述代理对象包括Mysql属性值和按需加载代码,所述按需加载代码在被调用时,根据被查询的Java对象的Mysql主键ID从MongoDB数据库中查询MongoDB属性值以返回MongoDB属性值。

可选地,根据Java Annotation技术确定Java对象中是否有要存储到MongoDB数据库中的属性值并确定该属性值。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201610035963.4/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top