亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種數(shù)據(jù)庫操作的方法和裝置的制造方法

文檔序號:9687512閱讀:295來源:國知局
一種數(shù)據(jù)庫操作的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本申請涉及計算機技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)庫操作的方法和裝置。
【背景技術(shù)】
[0002] 近年來,數(shù)據(jù)庫訪問技術(shù)發(fā)展很快,經(jīng)歷了從傳統(tǒng)的連接模型到新的斷開連接模 型,從最初只能訪問關(guān)系數(shù)據(jù)庫發(fā)展到目前能訪問包括關(guān)系數(shù)據(jù)庫在內(nèi)的各種數(shù)據(jù)源,女口 文件目錄、文本內(nèi)容、電子表格、電子郵件等發(fā)展過程。
[0003] 目前常用的數(shù)據(jù)庫訪問技術(shù)有:開放數(shù)據(jù)庫互連(ODBC,化en Dat油ase Connectivity)、數(shù)據(jù)存取對象(DAO, Data Access Object)、遠程數(shù)據(jù)對象(畑0, RanoteDataObject)、ActiveX 數(shù)據(jù)對象(ADO, ActiveX Data Objects)、ADO.肥Τ 等。
[0004] ODBC是為客戶應用程序訪問關(guān)系數(shù)據(jù)庫時提供的一個統(tǒng)一的C語言編程API接 口,通過送個接口可訪問任何提供了 ODBC驅(qū)動程序的數(shù)據(jù)庫。目前所有的關(guān)系數(shù)據(jù)庫都提 供ODBC驅(qū)動程序,送使它的應用非常廣泛,但存在訪問速度慢、函數(shù)眾多、使用復雜W及需 要增加大量編碼等缺點。
[000引為解決ODBC存在的缺陷,微軟推出了 DA0。DA0也稱為Jet數(shù)據(jù)庫引擎,是第一個 連接面向?qū)ο蟮臄?shù)據(jù)庫訪問編程接口。由于Jet是第一個連接到Access的面向?qū)ο蠼涌冢?因此DA0可W通過Jet數(shù)據(jù)庫引擎直接訪問Access數(shù)據(jù)庫。也可用于訪問Microsoft Jet 數(shù)據(jù)庫、索引順序存取方法(ISAM, Indexed Sequential Access Method)數(shù)據(jù)庫W及ODBC 數(shù)據(jù)庫。采用DAO技術(shù)時,所有請求和數(shù)據(jù)處理都必須經(jīng)過Jet引擎,送在很大程度上降低 了對ODBC數(shù)據(jù)源的存取速度,但是它卻非常適合訪問Jet型數(shù)據(jù)庫。
[000引隨后,針對DA0訪問ODBC數(shù)據(jù)源性能不佳推出畑0,畑0是基于ODBC API的一個 面向?qū)ο蟮慕涌?,可視為ODBC API的抽象。該技術(shù)必須通過現(xiàn)存的ODBC驅(qū)動程序來訪問關(guān) 系數(shù)據(jù)庫。由于它直接與ODBC API交互,能更快地獲取和管理數(shù)據(jù),并且能實現(xiàn)所有ODBC API擁有的底層功能和靈活性,但是不提供到Jet數(shù)據(jù)庫引擎的接口,不能訪問Jet和ISAM 數(shù)據(jù)庫文件。
[0007] ADO是用于在.肥T平臺上實現(xiàn)對數(shù)據(jù)庫訪問和操作的組件,訪問的數(shù)據(jù)源不僅包 括關(guān)系型數(shù)據(jù)庫還包括非關(guān)系型數(shù)據(jù)庫,是近年來使用最廣泛的數(shù)據(jù)庫訪問技術(shù)。ADO是 ActiveX數(shù)據(jù)訪問對象的集合,是通過OLE DB提供的基于組件對象模型(COM)的訪問技術(shù), 為訪問對象連接與嵌入數(shù)據(jù)庫(OLE DB, Object Linking and Embedding Data Base),數(shù) 據(jù)源而設計的一種面向?qū)ο蟮膽贸绦驅(qū)咏涌?。它是對ODBC、DAO、RDO H種數(shù)據(jù)庫訪問方 式的擴展,??跒殚_發(fā)Client/Server應用程序而設計,其核必組件是Recordset數(shù)據(jù)訪問 模式和OLE DB數(shù)據(jù)提供者。
[0008] W上介紹的數(shù)據(jù)訪問模型都是永久連接,很容易耗盡服務器資源和導致系統(tǒng)的 性能瓶頸。為了克服連接訪問模型的缺點,引入了新的數(shù)據(jù)訪問模型ADO.肥T。ADO.肥T 是一種連接、基于消息的數(shù)據(jù)訪問模式,為分布式數(shù)據(jù)共享應用程序提供開發(fā)接口。它是 Microsoft在.肥T平臺上對數(shù)據(jù)存取的解決方案,在某種程度上代表了最新版本的ADO技 術(shù)。
[0009] 現(xiàn)有技術(shù)中的數(shù)據(jù)庫操作方法存在如下缺點:直接使用現(xiàn)有數(shù)據(jù)庫訪問技術(shù),當 需要更換底層數(shù)據(jù)庫時,需要在整個軟件項目中搜索數(shù)據(jù)庫連接參數(shù)進行修改,工作量大 且易出錯。此外,直接使用現(xiàn)有數(shù)據(jù)庫技術(shù),要求開發(fā)人員不但要熟悉業(yè)務層面的邏輯而且 要具備熟練拼寫結(jié)構(gòu)化查詢語言(S化,S化UC化red如ery Language)語句的能力,同時,人 工拼寫S化語句經(jīng)常會帶來一些拼寫錯誤,開發(fā)人員不得不在代碼調(diào)試階段花費時間查找 錯誤,影響開發(fā)效率。

【發(fā)明內(nèi)容】

[0010] 本申請?zhí)峁┝艘环N數(shù)據(jù)庫操作裝置及方法。
[0011] 本申請實施例提供了一種數(shù)據(jù)庫操作裝置,包括:數(shù)據(jù)庫操作模塊、數(shù)據(jù)庫映射模 塊W及數(shù)據(jù)庫連接模塊;
[0012] 數(shù)據(jù)庫映射模塊用于提供實體類,所述實體類與物理數(shù)據(jù)庫中的數(shù)據(jù)庫表一一對 應,并且實體類中的每一個字段與數(shù)據(jù)庫中數(shù)據(jù)庫表的每一個字段也-對應;
[0013] 數(shù)據(jù)庫操作模塊用于提供數(shù)據(jù)庫的操作接口,根據(jù)來自外部的數(shù)據(jù)庫操作請求通 過所述實體類組裝成可執(zhí)行的結(jié)構(gòu)化查詢語言S化語句,將所述S化語句交由數(shù)據(jù)庫連接 模塊執(zhí)行,并將來自數(shù)據(jù)庫連接模塊的執(zhí)行結(jié)果返回給外部;
[0014] 數(shù)據(jù)庫連接模塊用于與物理數(shù)據(jù)庫建立連接、斷開連接、執(zhí)行來自數(shù)據(jù)庫操作模 塊的S化語句,并將執(zhí)行結(jié)果返回給數(shù)據(jù)庫操作模塊。
[0015] 較佳地,所述數(shù)據(jù)庫操作模塊進一步包括;單表操作單元,用于提供一個單表操作 父類,該單表操作父類將各個實體類公共的屬性和方法封裝起來,針對單張數(shù)據(jù)庫表進行 的通用的增、刪、改、查四類方法均包含在此父類中。
[0016] 較佳地,數(shù)據(jù)庫映射模塊中的各個實體類均繼承自所述單表操作父類。
[0017] 較佳地,所述數(shù)據(jù)庫操作模塊進一步包括:
[0018] 多表操作單元,用于根據(jù)業(yè)務邏輯組裝出與多張數(shù)據(jù)庫表有關(guān)的S化語句。
[0019] 較佳地,所述數(shù)據(jù)庫連接模塊進一步包括:
[0020] 數(shù)據(jù)庫連接類單元,用于提供與特定類型的物理數(shù)據(jù)庫對應的數(shù)據(jù)庫連接類,所 述數(shù)據(jù)庫連接類用于與對應類型的物理數(shù)據(jù)庫建立連接、斷開連接,W及執(zhí)行S化語句。
[0021] 較佳地,所述數(shù)據(jù)庫連接模塊進一步包括:
[0022] 連接類管理單元,用于增加新的數(shù)據(jù)庫連接類單元,或刪除已有的數(shù)據(jù)庫連接類 單元。
[0023] 本申請實施例還提供了一種數(shù)據(jù)庫操作方法,包括如下步驟:
[0024] A、生成與物理數(shù)據(jù)庫中的數(shù)據(jù)庫表一一對應的實體類,所述實體類中的每一個字 段與數(shù)據(jù)庫中數(shù)據(jù)庫表的每一個字段也一一對應;
[0025] B、根據(jù)來自外部的數(shù)據(jù)庫操作請求通過所述實體類組裝成可執(zhí)行的結(jié)構(gòu)化查詢 語目S化語句;
[0026] C、與物理數(shù)據(jù)庫建立連接、執(zhí)行所述S化語句,并將執(zhí)行結(jié)果返回外部;
[0027] D、斷開與物理數(shù)據(jù)庫的連接。
[0028] 較佳地,步驟B包括:
[0029] 調(diào)用單表操作父類及所述實體類,組裝成針對單張數(shù)據(jù)庫表進行的增、刪、改、查 的S化語句;所述實體類均繼承自所述單表操作父類。
[0030] 較佳地,步驟B包括:
[0031] 根據(jù)業(yè)務邏輯組裝出與多張數(shù)據(jù)庫表有關(guān)的S化語句。
[0032] 較佳地,所述步驟C所述與物理數(shù)據(jù)庫建立連接、執(zhí)行所述S化語句為:通過與物 理數(shù)據(jù)庫對應的數(shù)據(jù)庫連接類與所述物理數(shù)據(jù)庫建立連接,執(zhí)行S化語句。
[0033] 較佳地,該方法進一步包括:增加新的數(shù)據(jù)庫連接類,或刪除已有的數(shù)據(jù)庫連接 類。
[0034] 從W上技術(shù)方案可W看出,數(shù)據(jù)庫映射模塊提供的實體類與數(shù)據(jù)庫表有一一對應 的映射關(guān)系,實現(xiàn)數(shù)據(jù)的統(tǒng)一封裝;數(shù)據(jù)庫連接模塊主要負責與物理數(shù)據(jù)庫建立連接、斷開 連接、執(zhí)行S化語句,當目前的數(shù)據(jù)庫不能滿足需求或其他原因需要改變數(shù)據(jù)庫系統(tǒng)時,只 要在數(shù)據(jù)庫連接模塊中增加一個對應的數(shù)據(jù)庫連接類即可,不需要改動其他模塊,工作量 很少;此外,數(shù)據(jù)庫操作模塊提供對單張數(shù)據(jù)庫表的通用增刪改查方法,在送些方法中完成 S化語句的自動拼接,減少人工拼寫的錯誤,提高開發(fā)效率。
【附圖說明】
[0035] 圖1為本申請實施例提供的數(shù)據(jù)庫操作裝置框圖;
[0036] 圖2為本申請實施例提供的數(shù)據(jù)庫操作方法流程示意圖;
[0037] 圖3為本申請實施例中數(shù)據(jù)庫連接父類和子類的關(guān)系類圖。
【具體實施方式】
[0038] 為使本申請技術(shù)方案的技術(shù)原理、特點W及技術(shù)效果更加清楚,W下結(jié)合具體實 施例對本申請技術(shù)方案進行詳細闡述。
[0039] 圖1為本申請實施例提供的數(shù)據(jù)庫操作裝置框圖。數(shù)據(jù)庫操作裝置提供數(shù)據(jù)庫的 統(tǒng)一的訪問接口,所有對數(shù)據(jù)庫進行的增加、刪除、修改、查詢操作都在數(shù)據(jù)庫操作裝置中 進行統(tǒng)一管理和處理。數(shù)據(jù)庫操作裝置主要包括數(shù)據(jù)庫操作模塊102、數(shù)據(jù)庫映射模塊103 W及數(shù)據(jù)庫連接模塊104。
[0040] 數(shù)據(jù)庫操作模塊102提供數(shù)據(jù)庫的實際操作接口,也是系統(tǒng)外部對數(shù)據(jù)庫訪問的 通道。該模塊主要實現(xiàn)的功能是根據(jù)外部模塊101的數(shù)據(jù)庫操作請求通過所述實體類組裝 成最終可執(zhí)行的S化語句,將所述S化語句交由數(shù)據(jù)庫連接模塊104進行最終執(zhí)行,并將執(zhí) 行結(jié)果返回給外部模塊101。
[0041] 數(shù)據(jù)庫操作模塊102進一步包括;單表操作單元1021,用于提供一個單表操作父 類,該單表操作父類將各個實體類公共的屬性和方法封裝起來,針對單張數(shù)據(jù)庫表進行的 通用的增、刪、改、查四類方法均包含在此父類中。數(shù)據(jù)庫映射模塊103中的各個數(shù)據(jù)庫表 對應的實體類均繼承自該單表操作父類。
[0042] 數(shù)據(jù)庫操作模塊102還可W進一步包括;多表操作單元1022,用于根據(jù)業(yè)務邏輯 組裝出與多張數(shù)據(jù)庫表有關(guān)的S化語句。
[0043] 數(shù)據(jù)庫連接模塊104負責與物理數(shù)據(jù)庫105建立連接、斷開連接、執(zhí)行最終的SQL 語句。將數(shù)據(jù)庫連接類單元1041封裝在該模塊中是為了系統(tǒng)能夠快速適應不同的物理數(shù) 據(jù)庫,當目前的數(shù)據(jù)庫不能滿足需求或其他原因需要改變數(shù)據(jù)庫系統(tǒng)時,通過連接類管理 單元1042在數(shù)據(jù)庫連接模塊104中增加一個對應的數(shù)據(jù)庫連接類1041即可,不需要改動 該裝置中的其他模塊。
[0044] 數(shù)據(jù)庫映射模塊103提供數(shù)據(jù)庫表的實體映射類,該模塊中的實體類(實體類1、 實體類2……)與物理數(shù)據(jù)庫105中的數(shù)據(jù)庫表(表1、表2……)一一對應,并且實體類中 的每一個字段與物理數(shù)據(jù)庫105中數(shù)據(jù)庫表的每一個字段也一一對應。數(shù)據(jù)庫映射模塊 103提供的實體類對各自的數(shù)據(jù)進行封裝,為外部模塊101提供了數(shù)據(jù)庫表映射,外部模塊 101通過實體類來調(diào)用數(shù)據(jù)庫操作模塊中的單表操作或多表操作。
[0045] 圖2為本申請實施例提供的數(shù)據(jù)庫操作方法流程,包括如下步驟:
[0046] 步驟201 ;在數(shù)據(jù)庫映射模塊103中,生成數(shù)據(jù)庫表對應的實體類。
[0047] 通過代碼生成器,對物理數(shù)據(jù)庫205中的每一張數(shù)據(jù)庫表生成一個對應的實體 類,實體類名與物理數(shù)據(jù)庫105中的
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1