System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及計算機及通信,具體而言,涉及一種數據庫處理方法及相關設備。
技術介紹
1、項目開發中,會遇到各種數據庫,每種數據庫都有自己的語法格式。隨著項目中適配的數據庫種類增多,就需要給不同的數據庫適配對應語法格式的sql語句,導致出現很多的冗余sql語句。
技術實現思路
1、本申請的實施例提供了一種數據庫處理方法及相關設備,進而至少在一定程度上可以減少冗余sql語句。
2、本申請的其他特性和優點將通過下面的詳細描述變得顯然,或部分地通過本申請的實踐而習得。
3、根據本申請實施例的一個方面,提供了一種數據庫處理方法,包括:響應于服務的啟動,獲取配置文件,所述配置文件中包含數據庫類型;根據所述數據庫類型,調用對應的解析類,每個所述解析類對應不同類型的數據庫;將業務層語句輸入解析類,得到目標語句,所述目標語句為與所述數據庫類型對應的sql語句;將所述目標語句發送至所述對應數據庫,以便所述對應數據庫執行所述目標語句。
4、在本申請的實施例中,在所述將業務層語句輸入解析類,得到目標語句之前,所述方法還包括:根據所述數據庫類型,實例化對應的數據庫對象,與所述對應數據庫建立連接。
5、在本申請的實施例中,在所述將業務層語句輸入解析類,得到目標語句之前,所述方法還包括:將所述業務層語句輸入倉庫層;在倉庫層調用所述解析類。
6、在本申請的實施例中,將業務層語句輸入解析類,得到目標語句,具體包括:將所述業務層語句輸入解析類,解析類調用語句轉換
7、在本申請的實施例中,將業務層語句輸入解析類,得到目標語句,具體包括:將所述業務層語句輸入解析類,解析類調用語句解析模型;將所述業務層語句輸入語句解析模型,得到所述目標語句。
8、在本申請的實施例中,所述方法還包括:獲取業務層語句樣本集,所述業務層語句樣本集包含有多個業務層語句樣本,每個所述業務層語句樣本均實現標記有對應的目標語句;將所述業務語句樣本集中的所有業務層語句樣本逐個輸入語句解析模型,得到輸出的目標語句;根據所述輸出的目標語句和標記的目標語句,對所述語句解析模型進行參數更新,直至達到預定結束條件,結束訓練,得到訓練好的語句解析模型。
9、在本申請的實施例中,在所述響應于服務的啟動,獲取配置文件之前,所述方法還包括:構造業務類,確定操作常量、業務層對象以及操作方法;調用所述業務類,根據所述操作常量、所述業務層對象以及所述操作方法構造業務層語句。
10、根據本申請實施例的一個方面,提供了一種數據庫處理方法裝置,所述數據庫處理方法裝置包括:文件獲取模塊,用于響應于服務的啟動,獲取配置文件,所述配置文件中包含數據庫類型;解析調用模塊,用于根據所述數據庫類型,調用對應的解析類,每個所述解析類對應不同類型的數據庫;語句解析模塊,用于將業務層語句輸入解析類,得到目標語句,所述目標語句為與所述數據庫類型對應的sql語句;語句發送模塊,用于將所述目標語句發送至所述對應數據庫,以便所述對應數據庫執行所述目標語句。
11、在本申請的實施例中,所述數據庫處理方法裝置還包括:數據庫連接模塊,用于根據所述數據庫類型,實例化對應的數據庫對象,與所述對應數據庫建立連接。
12、在本申請的實施例中,所述數據庫處理方法裝置包括:倉庫層輸入模塊,用于將所述業務層語句輸入倉庫層;倉庫層調用模塊,用于在倉庫層調用所述解析類。
13、在本申請的實施例中,所述語句解析模塊具體包括:模板調用子模塊,用于將所述業務層語句輸入解析類,解析類調用語句轉換模板;語句轉換子模塊,用于根據所述轉換模板,將所述業務層語句轉換為目標語句。
14、在本申請的實施例中,所述語句解析模塊具體包括:模型調用子模塊,用于將所述業務層語句輸入解析類,解析類調用語句解析模型;模型輸出子模塊,用于將所述業務層語句輸入語句解析模型,得到所述目標語句。
15、在本申請的實施例中,所述數據庫處理方法裝置還包括:樣本獲取模塊,用于獲取業務層語句樣本集,所述業務層語句樣本集包含有多個業務層語句樣本,每個所述業務層語句樣本均實現標記有對應的目標語句;樣本輸入模塊,用于將所述業務語句樣本集中的所有業務層語句樣本逐個輸入語句解析模型,得到輸出的目標語句;參數更新模塊,用于根據所述輸出的目標語句和標記的目標語句,對所述語句解析模型進行參數更新,直至達到預定結束條件,結束訓練,得到訓練好的語句解析模型。
16、在本申請的實施例中,所述數據庫處理方法裝置包括:業務類構造模塊,用于構造業務類,確定操作常量、業務層對象以及操作方法;業務類調用模塊,用于調用所述業務類,根據所述操作常量、所述業務層對象以及所述操作方法構造業務層語句。
17、根據本申請實施例的一個方面,提供了一種計算機可讀介質,其上存儲有計算機程序,所述計算機程序被處理器執行時實現如上述實施例中所述的數據庫處理方法。
18、根據本申請實施例的一個方面,提供了一種電子設備,包括:一個或多個處理器;存儲裝置,用于存儲一個或多個程序,當所述一個或多個程序被所述一個或多個處理器執行時,使得所述一個或多個處理器實現如上述實施例中所述的數據庫處理方法。
19、在本申請的一些實施例所提供的技術方案中,通過在業務層設置一套業務層語句,在需要對數據庫進行操作時,根據不同數據庫的類型,調用不同的解析類進行解析,將業務層語句轉換為與數據庫類型對應的sql語句,以供數據庫執行,減少了業務層中的sql語句,僅保留了一套業務層語句,實現冗余sql語句的減少。同時通過在底層配置解析類進行語句轉換,使得一套業務層語句能夠適配多個不同類型的數據庫,保證了業務層語句的兼容性。本申請實施例中的解析類只是一個轉換模板,其內容量遠少于現有技術為適配一個類型的數據庫而生成的sql語句的內容量,故本申請的業務層語句加解析類所有的代碼量相對現有技術中的sql語句的代碼量減少很多,但保持了現有技術對應各個數據庫的兼容性,使得代碼更易于去維護。
20、應當理解的是,以上的一般描述和后文的細節描述僅是示例性和解釋性的,并不能限制本申請。
本文檔來自技高網...【技術保護點】
1.一種數據庫處理方法,其特征在于,包括:
2.如權利要求1所述的數據庫處理方法,其特征在于,所述將業務層語句輸入解析類,得到目標語句,具體包括:
3.如權利要求1所述的數據庫處理方法,其特征在于,在所述響應于服務的啟動,獲取配置文件之前,所述方法還包括:
4.如權利要求1所述的數據庫處理方法,其特征在于,所述將業務層語句輸入解析類,得到目標語句,具體包括:
5.如權利要求4所述的數據庫處理方法,其特征在于,所述方法還包括:
6.如權利要求1所述的數據庫處理方法,其特征在于,在所述將業務層語句輸入解析類,得到目標語句之前,所述方法還包括:
7.如權利要求1所述的數據庫處理方法,其特征在于,在所述將業務層語句輸入解析類,得到目標語句之前,所述方法還包括:
8.一種數據庫處理方法裝置,其特征在于,所述數據庫處理方法裝置包括:
9.一種計算機可讀介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現如權利要求1至7中任一項所述的數據庫處理方法。
10.一種電子設
...【技術特征摘要】
1.一種數據庫處理方法,其特征在于,包括:
2.如權利要求1所述的數據庫處理方法,其特征在于,所述將業務層語句輸入解析類,得到目標語句,具體包括:
3.如權利要求1所述的數據庫處理方法,其特征在于,在所述響應于服務的啟動,獲取配置文件之前,所述方法還包括:
4.如權利要求1所述的數據庫處理方法,其特征在于,所述將業務層語句輸入解析類,得到目標語句,具體包括:
5.如權利要求4所述的數據庫處理方法,其特征在于,所述方法還包括:
6.如權利要求1所...
【專利技術屬性】
技術研發人員:劉子健,
申請(專利權)人:三六零數字安全科技集團有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。