[发明专利]数据库存储和查询方法、属性值获取方法和设备有效
申请号: | 201610035963.4 | 申请日: | 2016-01-20 |
公开(公告)号: | CN105718556B | 公开(公告)日: | 2019-06-04 |
发明(设计)人: | 刘锟洋 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F16/245 | 分类号: | G06F16/245 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 吕雁葭 |
地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 存储 查询 方法 属性 获取 设备 | ||
1.一种数据库存储方法,包括:
根据与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属性值。
2.根据权利要求1所述的数据库存储方法,其中,根据Java Annotation技术确定Java对象中是否有要存储到MongoDB数据库中的属性值并确定该属性值。
3.一种数据库查询方法,包括:
根据与查询的Java实体相对应的iBatis配置文件查询Mysql数据库中的Mysql属性值;
确定Java实体中是否含有MongoDB属性;
如果Java实体中不含有MongoDB属性,则基于查询到的Mysql属性值返回查询结果对象;以及
如果Java实体中含有MongoDB属性,则生成与所述MongoDB属性相对应的按需加载代码,并且将Mysql属性值和按需加载代码组装成代理对象,并返回该代理对象作为查询结果对象,其中,所述按需加载代码在被调用时,根据被查询的Java对象的Mysql主键ID从MongoDB数据库中查询MongoDB属性值以返回MongoDB属性值。
4.根据权利要求3所述的数据库查询方法,其中;
使用Java Annotation技术确定Java实体中是否含有MongoDB属性;并且/或者
使用CGLIB技术生成所述按需加载代码。
5.一种从根据权利要求3或4所述的查询结果对象获取属性值的方法,包括:
确定要获取的属性值是否对应于MongoDB属性;
如果要获取的属性值不对应于MongoDB属性,则返回该属性值;以及
如果要获取的属性值对应于MongoDB属性,则根据查询结果对象在Mysql中的主键ID到MongoDB数据库中查询该属性值并返回该属性值。
6.根据权利要求5所述的方法,其中:
如果要获取的属性值对应于MongoDB属性,则判断该属性值是否为空,如果该属性值为空,则根据查询结果对象在Mysql中的主键ID到MongoDB数据库中查询该属性值并返回该属性值,否则直接返回该属性值。
7.根据权利要求5所述的方法,还包括:将查询到的MongoDB属性值赋值给相应的MongoDB属性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610035963.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种智能音乐推荐系统
- 下一篇:文件存储系统及其文件存储控制方法