亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于DataTable的高效數(shù)據(jù)庫接口的實現(xiàn)方法與流程

文檔序號:11262028閱讀:526來源:國知局
本發(fā)明涉及一種數(shù)據(jù)庫接口的實現(xiàn)方法,具體涉及一種基于數(shù)據(jù)表(datatable)的高效數(shù)據(jù)庫接口的實現(xiàn)方法,屬于網(wǎng)絡應用
技術領域
:。
背景技術
::隨著互聯(lián)網(wǎng)應用的豐富和發(fā)展,對數(shù)據(jù)庫操作的手段和技術也越來越豐富,配置文件是現(xiàn)在主流數(shù)據(jù)庫操作技術中避免不了的一個存在,在一個大的項目中,配置文件會有很多,常見的配置文件有:xml文件:對數(shù)據(jù)庫的一些基本配置,如數(shù)據(jù)庫連接路徑,數(shù)據(jù)庫用戶名,密碼等。一般命名為dbconfig.xml。properties文件:對系統(tǒng)一些常量參數(shù)的配置,如最大連接數(shù),連接失效時間等。一般命名為application.properties。主流技術中對于映射對象的配置很復雜,需要有大量的xml文件來進行配置,以現(xiàn)有使用率較高的mybatis技術對數(shù)據(jù)庫操作的技術架構為例,mybatis的每一個數(shù)據(jù)訪問對象(dao)接口都需要一個配置文件,對于開發(fā)者而言,大量的配置文件為項目的維護和管理造成了很大的困難和成本,降低了開發(fā)效率。另外,方法是否可以重載是評價一個技術是否具有多重可能性的重要指標,現(xiàn)有的一些技術并不能支持方法重載,同時具備靈活性和可拓展性的數(shù)據(jù)庫操作技術并不多見。因此,研制一種基于datatable的高效數(shù)據(jù)庫接口的實現(xiàn)方法,開發(fā)人員可以以近乎零配置文件的方式操作數(shù)據(jù)庫,還可以通過方法重載來實現(xiàn)代碼的復用是非常必要的,并且該方法也有重要的應用前景。技術實現(xiàn)要素:本發(fā)明針對上述現(xiàn)有技術存在的問題做出改進,即本發(fā)明的目的在于公開一種基于datatable的高效數(shù)據(jù)庫接口的實現(xiàn)方法,開發(fā)人員可以以近乎零配置文件的方式操作數(shù)據(jù)庫,還可以通過方法重載來實現(xiàn)代碼的復用。為了實現(xiàn)上述目標,本發(fā)明所采用的技術方案是:一種基于datatable的高效數(shù)據(jù)庫接口的實現(xiàn)方法,其特征在于,包括以下步驟:(1)、在服務端的內(nèi)存中創(chuàng)建datatable對象;(2)、客戶端發(fā)送請求到服務端,服務端處理數(shù)據(jù),從datatable的表中獲取用戶請求需要的配置數(shù)據(jù);(3)、服務端使用datatable對象中封裝的方法創(chuàng)建與數(shù)據(jù)庫的連接,調用datatable對象中封裝好的方法,將sql語句發(fā)送給數(shù)據(jù)庫;(4)、數(shù)據(jù)庫執(zhí)行sql,向服務端返回數(shù)據(jù);(5)、服務端整理數(shù)據(jù)后響應客戶請求。前述的基于datatable的高效數(shù)據(jù)庫接口的實現(xiàn)方法,其特征在于,所述datatable對象的創(chuàng)建方法包括以下至少一種:通過datatable構造函數(shù)創(chuàng)建;使用dataadapter對象的fill方法或fillschema方法在dataset中創(chuàng)建;使用dataset的readxml、readxmlschema或inferxmlschema方法根據(jù)預定義的xml文件創(chuàng)建。前述的基于datatable的高效數(shù)據(jù)庫接口的實現(xiàn)方法,其特征在于,所述用戶請求需要的配置數(shù)據(jù)包括以下至少一項:數(shù)據(jù)庫連接路徑、數(shù)據(jù)庫用戶名、數(shù)據(jù)庫密碼、最大連接數(shù)、鏈接失效時間。前述的基于datatable的高效數(shù)據(jù)庫接口的實現(xiàn)方法,其特征在于,所述datatable表中的列、關系和約束區(qū)分英文字母大小寫。前述的基于datatable的高效數(shù)據(jù)庫接口的實現(xiàn)方法,其特征在于,所述datatable對象使用redis管理和緩存數(shù)據(jù)庫返回的數(shù)據(jù)。前述的基于datatable的高效數(shù)據(jù)庫接口的實現(xiàn)方法,其特征在于,所述客戶端請求中的sql語句觸發(fā)redis緩存系統(tǒng)中數(shù)據(jù)的更新。與現(xiàn)有技術相比,本發(fā)明的有益之處在于:(1)、本發(fā)明不局限于已有的流行技術,可以更好的實現(xiàn)對復雜的業(yè)務的支持,對于數(shù)據(jù)庫的操作更加簡單、直接、方便,具有更好的易用性、可擴展性和靈活性;(2)、在使用過程中,不需要再配置文件中修改信息,只要在代碼的特定位置上進行修改,就可以實現(xiàn)修改的操作,提高了開發(fā)人員的工作效率,降低了軟件開發(fā)的難度和后期維護的成本。附圖說明圖1是現(xiàn)有技術mybatis對數(shù)據(jù)庫操作的技術架構;圖2是本發(fā)明的基于datatable的高效數(shù)據(jù)庫接口的實現(xiàn)方法的一個具體實施例的datatable的結構框圖;圖3是圖2中基于datatable的高效數(shù)據(jù)庫接口的實現(xiàn)方法一個具體實施例的數(shù)據(jù)交互流程圖;圖4是圖2中基于datatable的高效數(shù)據(jù)庫接口的實現(xiàn)方法一個具體實施例的網(wǎng)絡應用流程圖。具體實施方式以下結合附圖和具體實施例對本發(fā)明作具體的介紹。本發(fā)明的基于datatable的高效數(shù)據(jù)庫接口的實現(xiàn)方法,包括以下步驟:(1)、在服務端的內(nèi)存中創(chuàng)建datatable對象;(2)、客戶端發(fā)送請求到服務端,服務端處理數(shù)據(jù),從datatable的表中獲取用戶請求需要的配置數(shù)據(jù);(3)、服務端使用datatable對象中封裝的方法創(chuàng)建與數(shù)據(jù)庫的連接,調用datatable對象中封裝好的方法,將sql語句發(fā)送給數(shù)據(jù)庫;(4)、數(shù)據(jù)庫執(zhí)行sql,向服務端返回數(shù)據(jù);(5)、服務端整理數(shù)據(jù)后響應客戶請求。參照圖2,是本發(fā)明的基于datatable的高效數(shù)據(jù)庫接口的實現(xiàn)方法的一個具體實施例的datatable的結構框圖,對比圖1中現(xiàn)有技術mybatis對數(shù)據(jù)庫操作的技術架構,現(xiàn)有技術會使用大量的配置文件,而本發(fā)明使用一個內(nèi)存內(nèi)的關系數(shù)據(jù)表,可以獨立創(chuàng)建和使用,也可以由其他.netframework對象使用,最常見的情況是作為dataset的成員使用;本發(fā)明還封裝了一系列在工作中常用的方法,同時將獲取query對象封裝成一個方法,以便處理更加復雜的業(yè)務,因此,本發(fā)明相對于流行的技術具有很大的優(yōu)勢。作為一種優(yōu)選的方案,datatable對象的創(chuàng)建方法包括以下至少一種:通過datatable構造函數(shù)創(chuàng)建;使用dataadapter對象的fill方法或fillschema方法在dataset中創(chuàng)建;使用數(shù)據(jù)集(dataset)的readxml、readxmlschema或inferxmlschema方法根據(jù)預定義的xml文件創(chuàng)建。初次創(chuàng)建datatable時,datatable表是沒有結構的,要定義表的架構,必須創(chuàng)建數(shù)據(jù)列(datacolumn)對象并將其添加到表的列集合(columnscollection)中。表的架構(即結構)由列(columns)和約束(constraint)表示,需要使用數(shù)據(jù)列(datacolumn)對象以及foreignkeyconstraint和uniqueconstraint對象定義datatable的架構,表中的列可以映射到數(shù)據(jù)源中的列、包含從表達式計算所得的值、自動遞增它們的值或包含主鍵值;也可以為表定義主鍵列,并且可以創(chuàng)建constraint對象并將其添加到表的約束集合(constraintscollection)中;在為datatable定義了結構之后,可通過將數(shù)據(jù)行(datarow)對象添加到表的行集合(rowscollection)中來將數(shù)據(jù)行添加到表中。創(chuàng)建datatable時,不需要為tablename屬性提供值,可以在其其它時間指定該屬性,或者將其保留為空;但是,在將一個沒有tablename值的表添加到dataset中時,該表會得到一個從“table”(表示table0)開始遞增的默認名稱tablen。將一個datatable作為成員添加到一個dataset的tables集合中后,不能再將其添加到任何其他dataset的表集合中。作為一種優(yōu)選的方案,用戶請求需要的配置數(shù)據(jù)包括以下至少一項:數(shù)據(jù)庫連接路徑、數(shù)據(jù)庫用戶名、數(shù)據(jù)庫密碼、最大連接數(shù)、鏈接失效時間。作為一種優(yōu)選的方案,datatable表中的列、關系和約束區(qū)分英文字母大小寫。按名稱引用datatable表中的列、關系和約束是區(qū)分大小寫的,一個表中可以存在兩個或兩個以上名稱相同(但大小寫不同)的列、關系或約束。例如,datatable表中可以同時有col1和col1,在這種情況下,按名稱引用某一列就必須完全符合該列名的大小寫,否則會引發(fā)異常;例如,如果表mytable包含列col1和列col1,就要以mytable.columns["col1"]的形式來按名稱引用col1,而以mytable.columns["col1"]的形式按名稱引用col1;如果以mytable.columns["col1"]的形式來引用其中某列就會產(chǎn)生異常。如果某個特定名稱只存在一個列、關系或約束,則不應用區(qū)分大小寫規(guī)則。也就是說,如果表中沒有其他的列、關系或約束對象與該特定列、關系或約束對象的名稱匹配,您就可以使用任意的大小寫來按名稱引用該對象,并且不會引發(fā)異常。例如,如果表中只有col1,您就可以使用my.columns["col1"]來引用。作為一種優(yōu)選的方案,datatable對象使用redis管理和緩存數(shù)據(jù)庫返回的數(shù)據(jù)。作為一種更加優(yōu)選的方案,客戶端請求中的sql語句觸發(fā)redis緩存系統(tǒng)中數(shù)據(jù)的更新。使用方法:參照圖3,是本發(fā)明的基于datatable的高效數(shù)據(jù)庫接口的實現(xiàn)方法一個具體實施例的數(shù)據(jù)交互流程圖,其流程如下:用戶輸入用戶名、密碼,將請求發(fā)送到服務端;服務端進行數(shù)據(jù)處理,使用datatable建立與數(shù)據(jù)庫的連接,服務端調用sql命令;數(shù)據(jù)庫執(zhí)行sql;返回表單,存入redis緩存中;服務端處理數(shù)據(jù),將數(shù)據(jù)響應給客戶端。登錄的信息存入redis中,避免重復連接數(shù)據(jù)庫。參照圖4,是本發(fā)明的基于datatable的高效數(shù)據(jù)庫接口的實現(xiàn)方法一個具體實施例的網(wǎng)絡應用流程圖,客戶端(網(wǎng)絡應用)發(fā)送請求到服務端,服務端先處理數(shù)據(jù),然后從datatable獲取配置數(shù)據(jù),創(chuàng)建連接,調用封裝好的方法,將sql命令發(fā)送給數(shù)據(jù)庫,數(shù)據(jù)庫執(zhí)行sql,由于使用的是datatable技術,數(shù)據(jù)庫返回的數(shù)據(jù)會是以一個表單的形式返回,將這個表單里的數(shù)據(jù)放入到redis中,再返回給服務端,服務端進行業(yè)務處理后將整理好的數(shù)據(jù)響應到客戶端。需要說明的是,以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。當前第1頁12當前第1頁12
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1