java sql封装,在Java系统中封装SQL语言的处理方法及系统的制作方法
在Java系統中封裝SQL語言的處理方法及系統的制作方法【
技術領域:
】[0001]本發明涉及計算機數據處理
技術領域:
,特別是涉及一種在Java系統中封裝SQL語言的處理方法及系統。【
背景技術:
】[0002]Java語言作為一種較為成熟的編程語言,被廣泛應用到各種程序的編程中。一般來說,Java語言訪問MySQL數據庫是通過API提供SQL語句來進行的,有一些框架本身對這個API進行了封裝,但是始終都是以接收類SQL的字符串來進行調用。[0003]同時,現在的編程工作人員大多數都是在IDE(IntegratedDevelopmentEnvironment,集成開發環境)進行開發,IDE本身提供強大的語言支持,例如在Java常用的IDE中,就提供了自動補全,重構等的功能,但是使用傳入類SQL字符串的方式進行數據傳遞,類SQL的字符串無法得到IDE的支持,只能由編程工作人員的記憶和手動編寫。【
發明內容】[0004]為了克服現有技術的不足,本發明的目的提供一種Java系統應用程序接口,用來封裝MySQL的SQL語言,將MySQL中的SQL語言的功能通過封裝成為Java的應用程序接口來實現,提高數據的操作,大大降低編程工作人員的編寫難度。[0005]為解決上述問題,本發明所采用的技術方案如下:[0006]本發明提供了一種在Java系統中封裝SQL語言的處理方法,包括以下步驟:[0007]SlOl:接收用戶客戶端輸入的語句;[0008]S102:依次獲得語句中的類及類所傳入的參數;[0009]S103:依據類對其所傳入的參數處理得出相對應的SQL語句片段并存儲;[0010]S104:將所有的SQL語句片段合并為一個標準SQL語句A并存儲;[0011]S105:通過調用JDBC連接數據庫,并根據語句A進行相對應的數據庫操作。[0012]進一步,在步驟S105中,根據語句A進行相對應的數據庫操作具體包括:若語句A為查詢語句,則數據庫操作為讀操作;若語句A為更新語句或者刪除語句,則數據庫操作為寫操作。[0013]進一步,在步驟S105中,若數據庫操作為讀操作,則還將查詢結果返回至用戶客戶端。[0014]進一步,所述S102中當依次獲得語句中的類及類所傳入的參數時,對所述參數根據類中預定義的判斷規則判斷參數的合法性,若合法,則繼續執行S103;若不合法,則拋出異常。[0015]本發明還提供了一種在Java系統中封裝SQL語言的處理系統,包括以下模塊:[0016]接收語句模塊,用于接收用戶客戶端輸入的語句;[0017]獲取參數模塊,用于依次獲得語句中的類及類所傳入的參數;[0018]處理模塊,用于依據類對其所傳入的參數處理得到相對應的SQL語句片段并存儲;[0019]解析模塊,用于將所有的SQL語句片段合并為一個標準的SQL語句A并存儲;[0020]數據庫操作模塊,用于對語句A通過調用JDBC連接數據庫,并進行相對應的數據庫操作。[0021]進一步,在數據庫操作模塊中,根據語句A進行相對應的數據庫操作具體包括:若語句A為查詢語句,則數據庫操作為讀操作;若語句A為更新語句或者刪除語句,則數據庫操作為寫操作。[0022]進一步,所述若數據庫操作為讀操作,則還將查詢結果返回給用戶客戶端。[0023]進一步,所述獲取參數模塊還用于當依次獲的語句中的類及類所傳入的參數時,對所述參數根據類中預定義的判斷規則判斷參數的合法性;若合法,則繼續執行處理模塊;若不合法,則拋出異常。[0024]相比現有技術,本發明的有益效果在于:通過將MySQL中的SQL語言封裝到Java系統的接口,然后按照這些通用的規范接口來編寫SQL語句,系統通過接收這種SQL語句,對其進行組合處理后返回給用戶所需要的數據。同時由于將這些接口封裝在Java類庫中,并集成在IDE中,提供自動補全、重構和代碼提示等的功能,這樣編程工作人員在編程的時候得到了IDE的幫助,快速提高編寫速度,進一步避免因為編程工作人員的手誤導致的錯誤。【附圖說明】[0025]圖1是本發明提供一實施例的方法流程圖。【具體實施方式】[0026]下面,結合附圖以及【具體實施方式】,對本發明做進一步描述:[0027]如圖1所示,本發明提供了一種在Java系統中封裝SQL語言的處理方法,將MySQL數據庫中的SQL語言封裝到Java中,使得SQL語句的功能用Java的應用程序接口來實現。也即是通過面向對象思想將SQL語言轉換成能夠使用Java類、對象和接口來實現的一種編碼方法,在Java語言中構造相對應的語法結構,然后導入到Java類庫中。編程人員可以在編程時使用這種語法結構來編寫代碼,然后系統通過調用所述語法結構在Java類庫中形成的應用程序接口執行代碼,對MySQL數據庫進行相對應的操作,最終返回用戶客戶端所需要的數據。[0028]其中應用程序接口是在Java語言中預先定義的一種語法結構,和Java類庫中的應用程序調用方法類似,輸入參數是類似MySQL數據庫中SQL字符串,返回參數也是預定義的數據類型;這種語法結構的設計是將MySQL中的SQL語言通過靜態責任鏈的方式,將各個SQL語句的關鍵字變為靜態責任鏈中的具體方法,使得在編寫SQL語句時類似于編寫Java代碼一樣方便。MySQL的SQL語句中主要是三種類型查詢語句、更新語句和刪除語句。查詢語句關鍵字主要是select、from和一些條件性的關鍵字,由于select關鍵字后面必會跟from關鍵字,可以將這2個關鍵字作為一種整體;更新語句也是一樣的,update和set是同時出現的,后面會選擇性的跟條件性的關鍵字;刪除語句則delete和from是一起出現的,后面會選擇性的跟條件性的關鍵字。條件性的關鍵字包括如:where、and、or、orderby等等,這些關鍵字都是SQL語言中的關鍵字,是本領域技術人員都所熟知的,這里并沒有一一列舉。同時在Java類庫中也建立三種語句框架select、update和delete,以SQL語句的關鍵字為類,并且每個類中都定義了該關鍵字后可能出現的關鍵字的方法,在處理的時候,先處理好當前關鍵字類的參數后,然后依次訪問相關的關鍵字類并處理其參數。同時為每一個語句框架還定義相對應的接口,大部分的關鍵字都實現了該接口,查詢語句通過接口Query來訪問數據庫并返回數據、更新和刪除語句通過接口WritableQuery將內容寫入數據庫。但并不是所有的關鍵字都實現了接口,比如整對出現的不能實現該接口,例如select和from是必須一起出現的關鍵字,因此select類不能夠單獨實現該接口。這種方法是通過訪問各種語句的當前關鍵字類訪問下一個關鍵字類來實現,同時還會定義一個統一的外部接口,比如對于第一類是通過new方法來實例化,則在Java類庫中增加一個UtiI類MySQL,這個類增加了初始的MySQL關鍵字的靜態方法SeleCt()、update()和deleteO,分別返回三個包中的實際關鍵字處理類,通過Java的靜態引入特性,將該框架類引入。[0029]例如對于一個MySQL中的查詢語句其相對應的在Java中寫出的語句:[0030]MySQL:select*fromtableAawherea.1d=landa.namelike'%user';[0031]Java:select(〃*〃).from(TabIeA.class,〃a〃).where(〃a.id〃,eq,I).and(〃a.name^,like,"^iuser");[0032]由此可以看出二者寫法上的區別,后者更加接近Java語言中的寫法。[0033]本發明公開了一種所述在Java系統中封裝SQL語言的處理方法,具體包括以下步驟:[0034]SlOl:接收用戶客戶端輸入的語句。[0035]本步驟中系統接收用戶客戶端根據Java語言的編寫方法輸入語句。[0036]S102:依次獲得語句中的類及類所傳入的參數。[0037]S103:依據類對其所傳入的參數處理得出相對應的SQL語句片段并存儲。[0038]本步驟中依據類對其所傳入的參數做相對應的處理,這種處理過程是Java語言中的面向對象的處理方法。根據面向對象的思想定義了類和接口,則方法就會執行相對應的操作,獲得相對應的結果并保存。根據預先的定義可知,該方法都是對應標準SQL語言中的關鍵字,所傳入的參數也是SQL語句中的字段經過相對應的變化得來的。所述結果會保存為SQL語句片段,比如在Java語言中寫入的“select(〃*〃)”,經過處理后會得到“select*”。[0039]S104:將所有的SQL語句片段合并為一個標準SQL語句A并存儲。[0040]本步驟中將所有的SQL片段都放在一起,將其合并為一個完整的SQL語句A。這樣使用Java語言的方式來編寫SQL,然后通過這種方法的轉換得到數據庫能夠識別的標準SQL語句A。對于初學者來說,只需當前第1頁1 2 
總結
以上是生活随笔為你收集整理的java sql封装,在Java系统中封装SQL语言的处理方法及系统的制作方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php接口返回错误码,laravel 错
- 下一篇: 用matlab做一个有刻度的网格,已知4