[發(fā)明專利]訪問數(shù)據(jù)庫的方法和裝置有效
| 申請?zhí)枺?/td> | 201510528428.8 | 申請日: | 2015-08-25 |
| 公開(公告)號: | CN105205103B | 公開(公告)日: | 2019-09-20 |
| 發(fā)明(設(shè)計)人: | 李慧巖 | 申請(專利權(quán))人: | 北京京東尚科信息技術(shù)有限公司;北京京東世紀貿(mào)易有限公司 |
| 主分類號: | G06F16/242 | 分類號: | G06F16/242 |
| 代理公司: | 中原信達知識產(chǎn)權(quán)代理有限責(zé)任公司 11219 | 代理人: | 姜勁;金潔 |
| 地址: | 100080 北京市海淀區(qū)杏石口路6*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 訪問 數(shù)據(jù)庫 方法 裝置 | ||
1.一種訪問數(shù)據(jù)庫的方法,其特征在于,包括:
接收傳入持久層的公共接口類的類對象和值映射表;所述持久層基于ORM框架封裝得到,并被抽象為一個所述公共接口類,所述公共接口類只有一個工廠實例;其中,所述值映射表封裝有值對象;
根據(jù)所述值映射表和所述類對象,對該值對象進行父實體的填充;其中,所述對該值對象進行父實體的填充的步驟包括:通過會話工廠獲取所述類對象的元數(shù)據(jù)信息;檢查所述類對象每個字段的類型,在檢查到的當(dāng)前字段的類型為實體類型的情況下,根據(jù)映射關(guān)系和外鍵查找到該當(dāng)前字段對應(yīng)的實體,然后將該實體填充到所述值對象中;
將完成所述填充的值對象轉(zhuǎn)換為持久對象;
將所述持久對象中的數(shù)據(jù)保存到數(shù)據(jù)庫中。
2.根據(jù)權(quán)利要求1所述的訪問數(shù)據(jù)庫的方法,其特征在于,將完成所述填充的值對象轉(zhuǎn)換為持久對象的步驟包括:對于完成所述填充的值對象,采用BeanUtils工具將其轉(zhuǎn)換為持久對象。
3.根據(jù)權(quán)利要求1所述的訪問數(shù)據(jù)庫的方法,其特征在于,在需要進行數(shù)據(jù)庫更新操作的情況下,該方法還包括:
接收持久層的公共接口類的類對象和值映射表;
根據(jù)所述值映射表和所述類對象對值對象進行父實體的填充;
查找所述類對象的元數(shù)據(jù)信息以獲得字段名稱;
采用HQLBulider工具類,按照所述值映射表拼裝出HQL語句;
根據(jù)所述HQL語句生成Query對象,然后使用query.setParameter工具設(shè)置所述HQL語句的參數(shù),再執(zhí)行所述HQL語句以更新所述數(shù)據(jù)庫。
4.根據(jù)權(quán)利要求1所述的訪問數(shù)據(jù)庫的方法,其特征在于,在需要進行數(shù)據(jù)庫查詢操作的情況下,該方法還包括:
使用Query對象的list方法獲取數(shù)據(jù)庫中的數(shù)據(jù),將該數(shù)據(jù)通過值映射表和值表進行包裝然后輸出。
5.一種訪問數(shù)據(jù)庫的裝置,其特征在于,包括:
接收模塊,用于接收傳入持久層的公共接口類的類對象和值映射表;所述持久層基于ORM框架封裝得到,并被抽象為一個所述公共接口類,所述公共接口類只有一個工廠實例;其中,所述值映射表封裝有值對象;
獲取填充模塊,用于根據(jù)所述值映射表和所述類對象,對該值對象進行父實體的填充;其中,所述對該值對象進行父實體的填充包括:通過會話工廠獲取所述類對象的元數(shù)據(jù)信息;檢查所述類對象每個字段的類型,在檢查到的當(dāng)前字段的類型為實體類型的情況下,根據(jù)映射關(guān)系和外鍵查找到該當(dāng)前字段對應(yīng)的實體,然后將該實體填充到所述值對象中;
轉(zhuǎn)換模塊,用于將完成所述填充的值對象轉(zhuǎn)換為持久對象;
保存模塊,用于將所述持久對象中的數(shù)據(jù)保存到數(shù)據(jù)庫中。
6.根據(jù)權(quán)利要求5所述的訪問數(shù)據(jù)庫的裝置,其特征在于,所述轉(zhuǎn)換模塊還用于對于完成所述填充的值對象,采用BeanUtils工具將其轉(zhuǎn)換為持久對象。
7.根據(jù)權(quán)利要求5所述的訪問數(shù)據(jù)庫的裝置,其特征在于,還包括:
填充模塊,用于根據(jù)所述接收模塊接收到的用于更新數(shù)據(jù)庫的值映射表和類對象,對值對象進行父實體的填充;
查找模塊,用于查找所述類對象的元數(shù)據(jù)信息以獲得字段名稱;
拼裝模塊,用于采用HQLBulider工具類,按照所述值映射表拼裝出HQL語句;
更新操作模塊,用于根據(jù)所述HQL語句生成Query對象,然后使用query.setParameter工具設(shè)置所述HQL語句的參數(shù),再執(zhí)行所述HQL語句以更新所述數(shù)據(jù)庫。
8.根據(jù)權(quán)利要求5所述的訪問數(shù)據(jù)庫的裝置,其特征在于,還包括查詢輸出模塊,用于使用Query對象的list方法獲取數(shù)據(jù)庫中的數(shù)據(jù),將該數(shù)據(jù)通過值映射表和值表進行包裝然后輸出。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京京東尚科信息技術(shù)有限公司;北京京東世紀貿(mào)易有限公司,未經(jīng)北京京東尚科信息技術(shù)有限公司;北京京東世紀貿(mào)易有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510528428.8/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 存儲器訪問調(diào)度裝置、調(diào)度方法與存儲器訪問控制系統(tǒng)
- 一種限制用戶訪問的方法和裝置
- 一種訪問信息提供方法及系統(tǒng)
- 數(shù)據(jù)訪問權(quán)限的控制方法及裝置
- 基于智能家居系統(tǒng)的訪問授權(quán)方法、裝置及設(shè)備
- 網(wǎng)站訪問請求的動態(tài)調(diào)度方法及裝置
- 基于訪問頻率的監(jiān)測方法、裝置、設(shè)備和計算機存儲介質(zhì)
- 訪問憑證驗證方法、裝置、計算機設(shè)備及存儲介質(zhì)
- 一種應(yīng)用訪問控制方法、系統(tǒng)和介質(zhì)
- 異常訪問行為的檢測方法、裝置、電子設(shè)備及存儲介質(zhì)
- 數(shù)據(jù)庫
- 數(shù)據(jù)庫管理系統(tǒng)及數(shù)據(jù)庫
- 數(shù)據(jù)庫構(gòu)筑裝置、數(shù)據(jù)庫檢索裝置、數(shù)據(jù)庫裝置、數(shù)據(jù)庫構(gòu)筑方法、以及數(shù)據(jù)庫檢索方法
- 數(shù)據(jù)庫和數(shù)據(jù)庫處理方法
- 數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫更新方法、數(shù)據(jù)庫以及數(shù)據(jù)庫更新程序
- 容器數(shù)據(jù)庫
- 數(shù)據(jù)庫同步方法及數(shù)據(jù)庫
- 一種MongoDB數(shù)據(jù)庫對象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲方法、裝置、電子設(shè)備及存儲介質(zhì)
- 數(shù)據(jù)庫語句執(zhí)行方法及裝置





