freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于json的異構(gòu)數(shù)據(jù)庫整合研究_畢業(yè)論文-免費(fèi)閱讀

2025-08-10 16:44 上一頁面

下一頁面
  

【正文】 同樣本文也可以借助 ORM的配置文來獲取信息,用來封裝 JSON。 ?xml version= ? select id=selectAuthor parameterType=int resultType=hashmap select * from Author where ID = {id} /select insert id=insertAuthor parameterType= insert into Author (id,username,password,bio) values ({id},{username},{password},{},{bio}) /insert update id=updateAuthor parameterType= update Author set 第 4 章 異構(gòu)數(shù)據(jù)庫與 JSON 的映射研究 25 username = {username}, password = {password}, = {}, bio = {bio} where id = {id} /update delete id=deleteAuthor” parameterType=int delete from Author where id = {id} /delete 代碼段 以上代碼段 作為模板的內(nèi)容針對 Author 數(shù)據(jù)表定義了選擇接口selectPerson()、插入接口 insertAuthor()、更新接口 updateAuthor()、刪除接口deleteAuthor()。如果應(yīng)用程序是 Web 應(yīng)用的話,中間件可以直接向 Web 應(yīng)用返回JSON。 JSON 以 key/value 的形式來存儲(chǔ)數(shù)據(jù),其中 key 是關(guān)系型數(shù)據(jù)的數(shù)據(jù)表的名稱,而 value 是該數(shù)據(jù)表的某一記錄的值。 由于 JSON 可以很方便的作為 Java 語言的輸出數(shù)據(jù),而且 Java 具有跨平臺(tái)的特性, Java 可以運(yùn)行任何支持 Java 虛擬機(jī)的地方 [28]( JVM,即 Java Virtual Machine)。這時(shí)候就需要一個(gè)配置文件來存儲(chǔ)了表結(jié)構(gòu)信息,以方便程序的讀取。所以 JSON 與數(shù)據(jù)庫的記錄是一對一的關(guān)系。 現(xiàn)在企業(yè)級應(yīng)用開發(fā)中,因其著重業(yè)務(wù)的處理, 面向?qū)ο?模式 的開發(fā)方法 有助于提高軟件產(chǎn)品的開發(fā)周期、質(zhì)量,所以面向?qū)ο蟮拈_發(fā)方法是 主流開發(fā)方法 。 (bean, 1kg)。 以下 為將 POJO 對象轉(zhuǎn)化為 JSON 的示例代碼: public class Pojo2Json { public static void main(String[] args) throws JSONException { String json = {\name\:\reiz\}。 } catch (Exception exc) { ()。 } public void setName(String name) { = name。 POJO 作為特殊的類,它的對象與數(shù)據(jù)庫的記錄一一對應(yīng)。而 POJO 是 Java 語言中數(shù)據(jù)持久層的普通對象。在流行程度而言, JSON 具有很大上升空間。相比之下 XML 的編碼顯然要比 JSON難很多,同樣是用手工編碼的方式去構(gòu)造 JSON 或 XML,即使不借助工具也能寫出 JSON 的文本,但要手工寫出 XML 就比較困難了。但對于人類來講,在構(gòu)造 JSON 和 XML 的時(shí)候,顯然 JSON 更加清晰明了。 JSON 與 XML 相比,他們都是基于純文本數(shù)據(jù)交換格式 , XML 使用了開發(fā)人員可以自定義的 DTD,而 JSON 使用了約定俗成的固定的 DTD,也是就是說 JSON的格式是固定,所有的開發(fā)者都知道其格式,而這個(gè)格式正是基于面向?qū)ο蟮腏avaScript 語言。它去除不常使用的八進(jìn)制與十六進(jìn)制格式。一個(gè)數(shù)組以 “ [” (左中括號(hào))作為開始標(biāo)記,以 “ ]” (右中括號(hào))作為結(jié)束標(biāo)記。 2)值 的有序列表( An ordered list of values)。本文的 異構(gòu)數(shù)據(jù)庫整合方式 的 數(shù)據(jù) 流向是這樣的 數(shù)據(jù)庫記錄 — POJO 對象 — JSON 對象,如圖 31 所示: 圖 31 JSON 對象、 POJO 對象和數(shù)據(jù)庫記錄數(shù)據(jù)流向示意圖 數(shù)據(jù)庫的數(shù)據(jù)記錄與 POJO 對象之間的相互轉(zhuǎn)換由 ORM 模型實(shí)現(xiàn)。如圖 25 所示,數(shù)據(jù)庫中間件的工作原理圖。這樣就會(huì)出現(xiàn)如下的情況:如果需要整合 n 個(gè)異構(gòu)數(shù)據(jù)庫,那么 n 個(gè)數(shù)據(jù)庫中的任何一個(gè)都需要訪問其他的 (n 一 1)個(gè)數(shù)據(jù)庫, 那么這意味開發(fā)者需要編寫 n(n 一 1)段代碼以實(shí)現(xiàn)兩兩之間的相互訪問。 圖 22 模板方法示意圖 異構(gòu)數(shù)據(jù)庫整合常用方式 現(xiàn)在,主流的數(shù)據(jù)整合方式有以下幾種:數(shù)據(jù)倉庫(即 Data Warehouse)、聯(lián)邦數(shù)據(jù)庫(即 Federated Database)、中間件(即 Middleware) [12]等。因此,這種方案只適用于那些確定需要拋棄原有系統(tǒng)的情況,在這種情況下,只需要把原來的數(shù)據(jù)導(dǎo)出來即可。具體體現(xiàn)在: 第 2 章 異構(gòu)數(shù)據(jù)庫整合 9 A) 開發(fā)者不需要知道計(jì)算機(jī)網(wǎng)絡(luò)組成及其的使用方法; B) 開發(fā)者不需要知道各節(jié)點(diǎn)上的計(jì)算機(jī)操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng); C) 開發(fā)者不需要關(guān)注全局 SQL 語句的分解; D) 開發(fā)者不需要關(guān)注向局部異構(gòu)數(shù)據(jù)庫的讀寫操作; E) 開發(fā)者不需要關(guān)注局部查詢結(jié)果如何返回給查詢結(jié)點(diǎn)以及如何匯總等。即使是一個(gè)經(jīng)過嚴(yán)密信息規(guī)劃的企業(yè)或組織,隨著時(shí)間的推移、行業(yè)技術(shù)的變革、認(rèn)識(shí)的變遷、以及數(shù)據(jù)庫技術(shù)和市場的變化,都極有可能形成異構(gòu)數(shù)據(jù)庫的局面。毫不夸張的講,每個(gè)系統(tǒng)都有至少有一個(gè)或者多個(gè)數(shù)據(jù)庫支持。即數(shù)據(jù)庫 可 能 是同為關(guān)系型 不同廠商的 數(shù)據(jù)庫系統(tǒng)的 如 MySQL、 PostgreSQL、 Oracle、 MS SQL Server、 DB2 等 。 C)開發(fā)語言的不同。異構(gòu)數(shù)據(jù)庫 系統(tǒng) 的各個(gè) 數(shù)據(jù)庫系統(tǒng) 具有自治性, 它們共享 數(shù)據(jù)的同時(shí),每個(gè)數(shù)據(jù)庫系 統(tǒng)依然 保有自己的完整性控制 、 安全性控制 和 應(yīng)用特性。面對著隨時(shí) 可能出現(xiàn) 大規(guī)模數(shù)據(jù)的讀寫 [4](比如 120306 網(wǎng)站,也就是鐵路客戶服務(wù)中心的網(wǎng)上訂票系統(tǒng),在春節(jié)這種高并發(fā)環(huán)境下就不能滿足廣大用戶的使用需要 ) ,傳統(tǒng)關(guān)系 型數(shù)據(jù)庫在性能上似乎 達(dá)到 了瓶頸,特別是高并發(fā)性的 SNS純 動(dòng)態(tài)網(wǎng)站 和 超大規(guī)模的門戶網(wǎng)站的時(shí)候更 顯得力不從心。 3)關(guān)系型數(shù)據(jù)庫 。 數(shù)據(jù)庫 經(jīng)過了多年的發(fā)展,按 其 種類劃分有很多,本文將根據(jù)實(shí)際的應(yīng)用選擇一種合適的數(shù)據(jù)庫作為研究對象。 第 6 章: 總結(jié),首先對全文做了一全面的總結(jié),接著就本文需要做的進(jìn)一步的工作做了說明。使用 Badboy + JMeter 組合,對中間件進(jìn)行了壓力測試,并對結(jié)果進(jìn)行分析,得出中間件的各方面結(jié)論。 第 1 章 緒論 3 4)采用 XML 作為數(shù)據(jù)庫的通信格式的中間件。它是一組使用 Java語言編寫的類和接口的集合,為多種關(guān)系型數(shù)據(jù)庫提供統(tǒng)一的訪問。 在這種情況下,如果有一個(gè)數(shù)據(jù)庫中間件,對于開發(fā)者和使用者而言,直接訪問中間件,由數(shù)據(jù)庫中間件完成數(shù)據(jù)的訪問,而數(shù)據(jù)庫是透明的。對應(yīng)計(jì)算機(jī)應(yīng)用系統(tǒng)的開發(fā)者而言,當(dāng)需要跨數(shù)據(jù)庫操作時(shí),同樣是苦不堪言,處理同一數(shù)據(jù)在不同數(shù)據(jù)庫之間的差異,是件單調(diào)枯燥而費(fèi)時(shí)的事情,非常影響工作效率。數(shù)據(jù)庫產(chǎn)品的現(xiàn)狀可謂是百花齊放。 盡管數(shù)據(jù)庫應(yīng)用如此之廣,但是遺憾的是對于以數(shù)據(jù)庫為核心的系統(tǒng)的開發(fā)者而言,不同數(shù)據(jù)庫廠商之間的訪問方式之間是存在不少差異的,即使是同一數(shù)據(jù)庫廠商,其不同時(shí)期的產(chǎn)品的訪問方式也是有差異的。 POJO。 本文主要 研究了 JSON 與異構(gòu)數(shù)據(jù)庫數(shù)據(jù)的映射 及其算法,具體包含以下內(nèi)容: 1) JSON 作為異 構(gòu)數(shù)據(jù)庫 系統(tǒng) 整合的數(shù)據(jù)交換格式 的可行性; 2) 將 JSON 轉(zhuǎn)換為 POJO; 3) 將 POJO 轉(zhuǎn)換為 JSON; 4) JSON 與異構(gòu)數(shù)據(jù)庫之間的映射算法 。 對于以數(shù)據(jù)庫為 中 心的系統(tǒng)的開發(fā)者而言,因?yàn)楫悩?gòu)數(shù)據(jù)庫的存在,他們在 開發(fā)、維護(hù) 和 升級的成本比常規(guī)單一 的 數(shù)據(jù)庫系統(tǒng)要高的多。 3) convert POJO into JSON。比如郵件系統(tǒng),我們草稿、已發(fā)送郵件、未閱讀郵件、已閱讀郵件和垃圾郵件都是保存在數(shù)據(jù)庫里的。 課題背景 現(xiàn)代計(jì)算機(jī)應(yīng)用系統(tǒng)無不以數(shù)據(jù)為核心,而數(shù)據(jù)的載體正是數(shù)據(jù)庫,也稱做數(shù)據(jù)倉庫。這些平臺(tái)主 要有 Java、 PHP 和 Windows等,這些平臺(tái)的訪問方式各有差異。不同數(shù)據(jù)庫的 SQL 之間 也就只是一些主要的關(guān)鍵詞是一致的,僅此而已,在其他方面或多或少存在著差異。開發(fā)數(shù)據(jù)互連通過建立規(guī)范,提供了一組針對 Windows 應(yīng)用程序了訪問數(shù)據(jù)庫的編程接口。他們將數(shù)據(jù)庫中的數(shù)據(jù)表中的數(shù)據(jù)項(xiàng)映射為 Java 語言中的簡單 Java 對象( POJO, Plain Old Java Objects),然后在 Java 程序中就可以直接通過操作簡單 Java 對象,從而間接操作數(shù)據(jù)庫。 4) 的更具有全局性,哪怕以后平臺(tái)再多,其規(guī)范也可以統(tǒng)一。 第 5 章 : 基于 JSON 的數(shù)據(jù)庫映射中間件的 開發(fā) 、測試及評價(jià) 。異構(gòu)數(shù)據(jù)庫整合的方法從本質(zhì)上講有 2種,即數(shù)據(jù)復(fù)制方法和模板映射方法。 網(wǎng)狀數(shù)據(jù)庫的特點(diǎn)是其數(shù)據(jù)模型是以節(jié)點(diǎn)為基本單位構(gòu)成的網(wǎng)狀結(jié)構(gòu),對應(yīng)于有向圖 [1]。它 打破了關(guān)系型數(shù)據(jù)庫長久以來占主導(dǎo)地位的 。 NoSQL 目前雖然炙手可熱,但應(yīng)用比較局限,在高并發(fā)、海量數(shù)據(jù)、高度可擴(kuò)展的環(huán)境中應(yīng)用比較多,比如 SNS 網(wǎng)站、云計(jì)算等。根據(jù)計(jì)算機(jī) CPU 的不同,也就是數(shù)據(jù)庫系統(tǒng)可能分別存儲(chǔ)在大型機(jī)、小型機(jī)、工作站、個(gè)人電腦或嵌入式系統(tǒng)等中。 A) 數(shù)據(jù)庫 系統(tǒng) 類型不同。 異構(gòu)數(shù)據(jù)庫整合的背景和意義 當(dāng)今時(shí)代,信息資源己成為政府企業(yè)的每個(gè)部門的重要資源和財(cái)富。就信息數(shù)據(jù)源而言, 同一企業(yè)或組織存在 多種數(shù)據(jù)庫系統(tǒng)是客觀事實(shí)。但是,事實(shí)上這個(gè)整合數(shù)據(jù)庫可能是分散在很多不同地理位置節(jié)點(diǎn)上的異構(gòu)數(shù)據(jù)庫組成的,這些物理上異構(gòu)子庫是分別由自己不同的局部數(shù)據(jù)庫管理系統(tǒng)( LDBMS)管理。由于異構(gòu)數(shù)據(jù)庫之間的數(shù)據(jù)類型一般都有差異,特別是數(shù)值類型的數(shù)據(jù),為了把不兼容的數(shù)據(jù)類型寫入,必須這些數(shù)據(jù)類型轉(zhuǎn) 換成新的數(shù)據(jù)類型。如圖 22 所示,該圖展示了采用模板映射的方法實(shí)現(xiàn)了異構(gòu)數(shù)據(jù)庫整合,特點(diǎn)是應(yīng)用程序與數(shù)據(jù)庫之間多了個(gè)模板映射中間件或中間系統(tǒng),也就是說,應(yīng)用程序不直接與數(shù)據(jù)庫系統(tǒng)交互,而是通過直接訪問中間件或中間系統(tǒng)來實(shí)現(xiàn)間接訪問數(shù)據(jù)庫系統(tǒng)。 第 2 章 異構(gòu)數(shù)據(jù)庫整合 11 用 戶數(shù) 據(jù) 倉 庫E T L E T L數(shù) 據(jù) 庫 A數(shù) 據(jù) 庫 B 圖 23 數(shù)據(jù)倉庫示意圖 2) 聯(lián)邦數(shù)據(jù)庫。 它 是連接兩個(gè)獨(dú)立系統(tǒng) 和 獨(dú)立應(yīng)用程序的軟件。最后講解了異構(gòu)數(shù)據(jù)庫系統(tǒng)整合的目 標(biāo)、方法、重難點(diǎn)。這使得 JSON 既能跨語言 、 跨平臺(tái)作為公共數(shù)據(jù) 交換格式, 并且也 使得廣大程序開發(fā)者用起來順手,這一切使 得 JSON 成為 最為 最理想的 通用 數(shù)據(jù)交換 格式 [15]。一個(gè)對象的開始標(biāo)記為 “ {” (左括號(hào))開始,結(jié)束標(biāo)記為 “ }” (右括號(hào))。其中比較特殊的情況是單個(gè)字符( character)即由一個(gè)字符構(gòu)成的字符串( character string)。這個(gè)應(yīng)用程序間統(tǒng)一確定的標(biāo)準(zhǔn)怎么來確定呢? XML 提供了一個(gè)輔助工具 DTD。在 Web 應(yīng)用中使用 JSON 取代 XML,不但避免了解釋器解釋 XML 解析帶來的性能缺陷和解釋器兼容性的問題,并且對于 JavaScript 解釋器來講很容易使用,它可以快速的通過訪問對象 屬性以及遍歷數(shù)組來獲取數(shù)據(jù),其可讀性對人類來說非常好,完全具備了結(jié)構(gòu)化數(shù)據(jù)的特點(diǎn)。所以在可擴(kuò)展性上, JSON 與 XML 旗鼓相當(dāng)。 5)流行程度。這樣關(guān)系數(shù)據(jù)庫里面的每條記錄可以輕松的用 JOSN 表示出來,而且解析也方便。把字節(jié)序列轉(zhuǎn)換成 Java對象的過程稱為反序列化。 public class Student { private int number。 ObjectOutputStream oos = new ObjectOutputStream(fos)。顯然,其 存 和 取 方法 本身 不是我們需要的數(shù)據(jù),我們關(guān)心的是屬性, 所以在將 POJO 轉(zhuǎn)化成 JSON 的過程中,重要的是得到屬性的名稱和該屬性對應(yīng)的值。 (browsers, str)。 } } 將 JSON 轉(zhuǎn)化為 POJO JSON 作為文本,在 Java 里面就是字符串。 在這種情況下 , ORM模型派上用場了,它是銜接關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)和 JVM 運(yùn)行時(shí)環(huán)境中對象的橋梁,如圖 38 所示 : 圖 38 ORM 模型示意圖 現(xiàn)代數(shù)據(jù)庫應(yīng)用開發(fā)不可避免的要使用 ORM,將數(shù)據(jù)庫中每張數(shù)據(jù)表用一個(gè)類來表示,而數(shù)據(jù)表的每一項(xiàng)則 是對象,比如像 Hibernate、 MyBatis 這樣的框架中。 第 4 章 異構(gòu)數(shù)據(jù)庫與 JSON 的映射研究 23 第 4 章 異構(gòu) 數(shù)據(jù)庫與 JSON 的映射研
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1