[發明專利]數據庫存儲和查詢方法、屬性值獲取方法和設備有效
| 申請號: | 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.szxzyx.cn/pat/books/201610035963.4/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種智能音樂推薦系統
- 下一篇:文件存儲系統及其文件存儲控制方法





