[發(fā)明專利]基于通用數(shù)據(jù)訪問框架的數(shù)據(jù)查詢方法在審
| 申請?zhí)枺?/td> | 202111192337.3 | 申請日: | 2021-10-13 |
| 公開(公告)號: | CN115964385A | 公開(公告)日: | 2023-04-14 |
| 發(fā)明(設(shè)計)人: | 張馳榮;劉培德;于瀛 | 申請(專利權(quán))人: | 遠(yuǎn)光軟件股份有限公司 |
| 主分類號: | G06F16/245 | 分類號: | G06F16/245;G06F16/242;G06F16/2453;G06F16/25;G06F16/28;G06F8/30 |
| 代理公司: | 北京天達(dá)知識產(chǎn)權(quán)代理事務(wù)所有限公司 11386 | 代理人: | 劉鏡 |
| 地址: | 519085 廣東*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 通用 數(shù)據(jù) 訪問 框架 查詢 方法 | ||
1.一種基于通用數(shù)據(jù)訪問框架的數(shù)據(jù)查詢方法,其特征在于,包括如下步驟:
基于待查詢數(shù)據(jù)的訪問方式,獲取數(shù)據(jù)源;
獲取查詢條件,調(diào)用查詢構(gòu)造器,通過鏈?zhǔn)秸{(diào)用方式對所述待查詢數(shù)據(jù)構(gòu)造查詢對象語法樹,基于所述查詢對象語法樹獲取查詢對象;
根據(jù)所述數(shù)據(jù)源,創(chuàng)建查詢執(zhí)行器;
將查詢對象傳入查詢執(zhí)行器中,執(zhí)行查詢方法后得到查詢結(jié)果。
2.根據(jù)權(quán)利要求1所述的基于通用數(shù)據(jù)訪問框架的數(shù)據(jù)查詢方法,其特征在于,所述基于待查詢數(shù)據(jù)的訪問方式,獲取數(shù)據(jù)源,包括:
當(dāng)待查詢數(shù)據(jù)存儲于數(shù)據(jù)庫中,且項目框架未采用Hibernate或JPA,則通過數(shù)據(jù)庫表名和字段名訪問待查詢數(shù)據(jù),獲取JDBC數(shù)據(jù)源;
當(dāng)待查詢數(shù)據(jù)存儲于數(shù)據(jù)庫中,且項目框架采用了Hibernate或JPA,則將待查詢數(shù)據(jù)封裝為實體對象,獲取JPA數(shù)據(jù)源;
當(dāng)待查詢數(shù)據(jù)存儲于內(nèi)存中,則將待查詢數(shù)據(jù)封裝為內(nèi)存表對象,獲取內(nèi)存數(shù)據(jù)源;
當(dāng)待查詢數(shù)據(jù)存儲于常量數(shù)據(jù)集,則將待查詢數(shù)據(jù)封裝為內(nèi)存表對象或常量查詢引用對象,獲取內(nèi)存數(shù)據(jù)源。
3.根據(jù)權(quán)利要求2所述的基于通用數(shù)據(jù)訪問框架的數(shù)據(jù)查詢方法,其特征在于,所述內(nèi)存表對象包括:表別名、數(shù)據(jù)列表和字段訪問器;
所述數(shù)據(jù)列表包括屬性名和屬性值;
所述字段訪問器用于從所述數(shù)據(jù)列表中指定需要提取的1個或多個屬性名;
所述常量查詢引用對象實現(xiàn)了根引用接口和數(shù)據(jù)集接口;
所述數(shù)據(jù)集接口包括獲取數(shù)據(jù)集表頭和獲取數(shù)據(jù)列表的方法,常量查詢引用對象在獲取數(shù)據(jù)列表的方法中采用二維數(shù)組格式存儲數(shù)據(jù);在獲取數(shù)據(jù)集表頭方法中將數(shù)據(jù)列表的屬性名設(shè)置為表頭。
4.根據(jù)權(quán)利要求1-3任一項所述的基于通用數(shù)據(jù)訪問框架的數(shù)據(jù)查詢方法,其特征在于,所述查詢對象語法樹上的各個節(jié)點是實現(xiàn)了相同的父引用接口的引用對象,所述父引用接口包括一個獲取元素類型的方法,所述引用對象在獲取元素類型的方法中定義對應(yīng)的SQL語法元素類型;
所述根引用接口是父引用接口派生的一個子引用接口;
所述查詢條件封裝為SQL語法元素類型為常量的引用對象,作為查詢對象語法樹上的節(jié)點。
5.根據(jù)權(quán)利要求4所述的基于通用數(shù)據(jù)訪問框架的數(shù)據(jù)查詢方法,其特征在于,所述查詢構(gòu)造器包括多個與SQL組成部分對應(yīng)的接口,在每個接口實現(xiàn)類中通過start和end開頭的方法表示構(gòu)造SQL組成部分的開始和結(jié)束;
所述構(gòu)造查詢對象語法樹,包括:通過鏈?zhǔn)秸{(diào)用方式,調(diào)用多組start和end開頭的方法,在每組start和end開頭的方法中掛接1個或多個引用對象;一棵查詢對象語法樹描述一條完整的SQL語句。
6.根據(jù)權(quán)利要求5所述的基于通用數(shù)據(jù)訪問框架的數(shù)據(jù)查詢方法,其特征在于,所述基于查詢對象語法樹獲取查詢對象,包括:
將語法樹上具有相同元素類型的引用對象放在對應(yīng)的引用對象集合中;
將所述引用對象集合放入語法樹根節(jié)點的根引用對象中,返回根引用對象;
所述根引用對象是查詢對象語法樹根節(jié)點對應(yīng)的實現(xiàn)了根引用接口的引用對象。
7.根據(jù)權(quán)利要求1-6任一項所述的基于通用數(shù)據(jù)訪問框架的數(shù)據(jù)查詢方法,其特征在于,所述根據(jù)所述數(shù)據(jù)源,創(chuàng)建查詢執(zhí)行器,包括:
如果是JDBC數(shù)據(jù)源,調(diào)用執(zhí)行配置器獲取JDBC執(zhí)行器,并創(chuàng)建查詢轉(zhuǎn)譯器,以及根據(jù)JDBC數(shù)據(jù)源獲取目標(biāo)數(shù)據(jù)庫類型,將與目標(biāo)數(shù)據(jù)庫類型對應(yīng)的寫入器注冊至查詢轉(zhuǎn)譯器中;
如果是JPA數(shù)據(jù)源,調(diào)用執(zhí)行配置器獲取JPA執(zhí)行器,并創(chuàng)建查詢轉(zhuǎn)譯器,將JPA寫入器注冊至查詢轉(zhuǎn)譯器中;
如果是內(nèi)存數(shù)據(jù)源,直接獲取內(nèi)存執(zhí)行器。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于遠(yuǎn)光軟件股份有限公司,未經(jīng)遠(yuǎn)光軟件股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111192337.3/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種濾波方法及裝置
- 下一篇:原子芯片的磁場系統(tǒng)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 存儲器訪問調(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ì)





