[發明專利]一種數據庫訪問方法和裝置在審
| 申請號: | 201811420392.1 | 申請日: | 2018-11-26 |
| 公開(公告)號: | CN109284326A | 公開(公告)日: | 2019-01-29 |
| 發明(設計)人: | 唐人虎;張曉光;楊愷;袁怡然;李丹;胡小燕;張琳利;金琳;楊晉;朱慶榮 | 申請(專利權)人: | 北京中創碳投科技有限公司 |
| 主分類號: | G06F16/25 | 分類號: | G06F16/25;G06F16/242 |
| 代理公司: | 北京超凡志成知識產權代理事務所(普通合伙) 11371 | 代理人: | 吳開磊 |
| 地址: | 100000 北京市東*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據描述信息 數據模型文件 目標數據模型 數據查詢請求 方法和裝置 數據庫訪問 查詢參數 查詢語句 訪問數據庫 查詢 查詢內容 數據模型 攜帶 構建 組裝 申請 | ||
本申請提供了一種數據庫訪問方法和裝置,該方法包括:構建數據模型文件,所述數據模型文件中包括數據模型標識和數據描述信息之間的對應關系;根據接收到的數據查詢請求中攜帶的目標數據模型標識,在數據模型文件中,查詢與目標數據模型標識對應的數據描述信息;根據查詢到的數據描述信息和數據查詢請求中攜帶的查詢內容,生成查詢參數,以及組裝查詢語句;基于所述查詢參數和所述查詢語句訪問數據庫。
技術領域
本申請涉及搜索技術領域,具體而言,涉及一種數據庫訪問方法和裝置。
背景技術
目前,數據庫一般是JDBC方式的方式進行訪問或讀取,通過JDBC的方式比較繁瑣,而且容易在SQL語句中引入注入漏洞,極大的增加代碼編寫量、很容易造成問題擴散。為了減少注入漏洞,Hibernate以XML文件來描述model定義,在定義復雜model時較復雜,在訪問數據庫時,采用hql方式拼接where條件,這種方式無結構化可言且極易造成SQL注入漏洞。采用Mybatis訪問數據庫且需要查詢部分字段時,必須得新增map定義、Java方法等,也極易造成SQL注入漏洞。
發明內容
有鑒于此,本申請的目的在于提供一種數據庫訪問方法和裝置,用于解決現有技術在訪問數據庫時容易產生SQL注入漏洞的問題。
第一方面,本申請實施例提供了一種數據庫訪問方法,該方法包括:
構建數據模型文件,所述數據模型文件中包括數據模型標識和數據描述信息之間的對應關系;
根據接收到的數據查詢請求中攜帶的目標數據模型標識,在數據模型文件中,查詢與目標數據模型標識對應的數據描述信息;
根據查詢到的數據描述信息和數據查詢請求中攜帶的查詢內容,生成查詢參數,以及組裝查詢語句;
基于所述查詢參數和所述查詢語句訪問數據庫。
可選地,所述根據查詢到的數據描述信息和數據查詢請求中攜帶的查詢內容,生成查詢參數,以及組裝查詢語句,包括:
從所述查詢內容中的過濾條件中提取過濾參數;
基于提取的所述過濾參數,生成查詢參數;
根據所述數據描述信息和所述查詢內容的查詢字段,組裝所述查詢語句。
可選地,在所述構建數據模型文件之后,還包括:
加載所述數據模型文件,得到表征數據執行類別的數據類。
可選地,所述基于所述查詢參數和所述查詢語句訪問數據庫,包括:
將所述查詢參數和所述查詢語句發送給與所述數據類對應的數據庫,以使所述數據庫對所述查詢單數和所述查詢語句進行整合處理,并依據整合后的查詢語句進行查詢。
可選地,所述數據模型文件的格式包括Json格式。
第二方面,本申請實施例提供了一種數據庫訪問裝置,該裝置包括:
構建模塊,用于構建數據模型文件,所述數據模型文件中包括數據模型標識和數據描述信息之間的對應關系;
第一查詢模塊,用于根據接收到的數據查詢請求中攜帶的目標數據模型標識,在數據模型文件中,查詢與目標數據模型標識對應的數據描述信息;
生成模塊,用于根據查詢到的數據描述信息和數據查詢請求中攜帶的查詢內容,生成查詢參數,以及組裝查詢語句;
第二查詢模塊,用于基于所述查詢參數和所述查詢語句進行查詢,并得到查詢結果。
可選地,所述生成模塊具體用于:
從所述查詢內容中的過濾條件中提取過濾參數;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京中創碳投科技有限公司,未經北京中創碳投科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811420392.1/2.html,轉載請聲明來源鉆瓜專利網。





