[發(fā)明專利]將SQL代碼自動轉(zhuǎn)換為Java代碼的方法和裝置有效
| 申請?zhí)枺?/td> | 201910260266.2 | 申請日: | 2019-04-02 |
| 公開(公告)號: | CN110008448B | 公開(公告)日: | 2023-10-17 |
| 發(fā)明(設(shè)計)人: | 朱李悅;鐘慰;蔣亞琴;傅繼星 | 申請(專利權(quán))人: | 中國工商銀行股份有限公司 |
| 主分類號: | G06F8/51 | 分類號: | G06F8/51 |
| 代理公司: | 北京三友知識產(chǎn)權(quán)代理有限公司 11127 | 代理人: | 孫乳筍;王濤 |
| 地址: | 100140 北*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | sql 代碼 自動 轉(zhuǎn)換 java 方法 裝置 | ||
本發(fā)明提供了一種將SQL代碼自動轉(zhuǎn)換為Java代碼的方法和裝置,該方法包括:根據(jù)接收的SQL代碼,生成檢索上下文對象;根據(jù)檢索上下文對象查找預(yù)先設(shè)置的哈希映射集合,得到對應(yīng)的Java代碼。本發(fā)明通過將SQL語句解析并轉(zhuǎn)換為統(tǒng)一的檢索上下文對象,解決了SQL代碼向Java代碼轉(zhuǎn)換時效率低、轉(zhuǎn)換后代碼可讀性差的問題。
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)轉(zhuǎn)換領(lǐng)域,尤其涉及一種將SQL代碼自動轉(zhuǎn)換為Java代碼的方法和裝置。
背景技術(shù)
隨著系統(tǒng)處理數(shù)據(jù)量的高速增長,傳統(tǒng)以應(yīng)用服務(wù)器和數(shù)據(jù)庫為主的架構(gòu)遇到了瓶頸。傳統(tǒng)數(shù)據(jù)庫無法通過簡單的增加節(jié)點來實現(xiàn)橫向擴(kuò)展,其可擴(kuò)展性弱的缺陷逐漸顯現(xiàn),因此傳統(tǒng)系統(tǒng)的業(yè)務(wù)處理功能逐漸由SQL的存儲過程處理向擴(kuò)展性更好的分布式處理轉(zhuǎn)型。但是由于傳統(tǒng)框架及技術(shù)組件與主流分布式架構(gòu)所使用的編程語言不同,在轉(zhuǎn)型過程中不可避免需要進(jìn)行代碼重寫,即兩種的編程語言相互轉(zhuǎn)換。代碼轉(zhuǎn)換方面,編程語言的轉(zhuǎn)換是人工方式完成的,在大量SQL邏輯轉(zhuǎn)為Java集合操作過程中,需要耗費大量人力,開發(fā)效率低,而且存在復(fù)雜度高、可讀性差、易出錯等多種問題,從而影響系統(tǒng)的穩(wěn)定性。
因此,現(xiàn)急需找到一種將SQL代碼自動轉(zhuǎn)換為Java代碼的方法。
發(fā)明內(nèi)容
為了解決SQL代碼邏輯轉(zhuǎn)為Java代碼的操作過程中,人工轉(zhuǎn)換易出錯、代碼可讀性差、工作量大等問題,提高了系統(tǒng)的穩(wěn)定性,本發(fā)明提供了一種將SQL代碼自動轉(zhuǎn)換為Java代碼的方法和裝置。
第一方面,本發(fā)明提供一種將SQL代碼自動轉(zhuǎn)換為Java代碼的方法,所述方法包括:
根據(jù)接收的SQL代碼,生成檢索上下文對象;
根據(jù)所述檢索上下文對象查找預(yù)先設(shè)置的哈希映射集合,得到對應(yīng)的Java代碼。
進(jìn)一步地,所述根據(jù)所述檢索上下文對象查找預(yù)先設(shè)置的哈希映射集合,得到對應(yīng)的Java代碼包括:
根據(jù)設(shè)置的字段分隔符,對SQL字符串進(jìn)行鍵值對轉(zhuǎn)換,得到所述預(yù)先設(shè)置的哈希映射集合。
進(jìn)一步地,所述根據(jù)接收的SQL代碼語句,生成檢索上下文對象包括:
根據(jù)SQL代碼,確定關(guān)鍵要素;
根據(jù)所述關(guān)鍵要素,生成檢索上下文對象。
進(jìn)一步地,所述關(guān)鍵要素包括:表名、輸出字段、檢索條件、排序字段。
進(jìn)一步地,所述根據(jù)所述檢索上下文對象查找預(yù)先設(shè)置的哈希映射集合,得到對應(yīng)的Java代碼還包括:
判斷所述檢索條件是否存儲在哈希映射集合中,確定存儲在哈希映射集合中,則輸出第一數(shù)據(jù)查詢結(jié)果;
確定沒有存儲在哈希映射集合中,則判斷所述檢索條件是否進(jìn)行單表查詢,確定進(jìn)行單表查詢,則根據(jù)單表查詢,輸出第一數(shù)據(jù)結(jié)果集;
確定不進(jìn)行單表查詢,則對該檢索條件進(jìn)行多表關(guān)聯(lián)查詢,輸出第二數(shù)據(jù)結(jié)果集;
將所述第一數(shù)據(jù)結(jié)果集和第二數(shù)據(jù)結(jié)果集組合,輸出第二數(shù)據(jù)查詢結(jié)果。
進(jìn)一步地,所述確定沒有存儲在哈希映射集合中,則判斷所述檢索條件是否進(jìn)行單表查詢,確定進(jìn)行單表查詢,則根據(jù)單表查詢,輸出第一數(shù)據(jù)結(jié)果集包括:
當(dāng)所述檢索條件滿足左操作符為索引字段的表達(dá)式,且所述表達(dá)式之間的邏輯運算均為“與”操作,且所述表達(dá)式的運算符為等值時,進(jìn)行單表查詢。
第二方面,本發(fā)明提供一種將SQL代碼自動轉(zhuǎn)換為Java代碼的裝置,所述裝置包括:
檢索上下文對象生成模塊,用于根據(jù)接收的SQL代碼,生成檢索上下文對象;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國工商銀行股份有限公司,未經(jīng)中國工商銀行股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910260266.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 圖像轉(zhuǎn)換設(shè)備、圖像轉(zhuǎn)換電路及圖像轉(zhuǎn)換方法
- 數(shù)模轉(zhuǎn)換電路及轉(zhuǎn)換方法
- 轉(zhuǎn)換設(shè)備和轉(zhuǎn)換方法
- 占空比轉(zhuǎn)換電路及轉(zhuǎn)換方法
- 通信轉(zhuǎn)換方法、轉(zhuǎn)換裝置及轉(zhuǎn)換系統(tǒng)
- 模數(shù)轉(zhuǎn)換和模數(shù)轉(zhuǎn)換方法
- 轉(zhuǎn)換模塊以及轉(zhuǎn)換電路
- 熱電轉(zhuǎn)換材料、熱電轉(zhuǎn)換元件和熱電轉(zhuǎn)換模塊
- 熱電轉(zhuǎn)換材料、熱電轉(zhuǎn)換元件及熱電轉(zhuǎn)換模塊
- 熱電轉(zhuǎn)換材料、熱電轉(zhuǎn)換元件及熱電轉(zhuǎn)換模塊





