在Java中雖然提供了良好的數(shù)據(jù)庫(kù)支持并有大量的第三方持久層框架作為輔助,但相對(duì)其他語(yǔ)言來講在Java中使用數(shù)據(jù)庫(kù)連接時(shí)造成的系統(tǒng)損耗也會(huì)比較多。因此對(duì)于數(shù)據(jù)吞吐量較少的系統(tǒng)而言,有時(shí)放棄數(shù)據(jù)庫(kù)而改為使用本地文件來存儲(chǔ)資料反而是種較好的選擇,比如我們對(duì)于Java程序的啟動(dòng)配置通常會(huì)使用Properties及dom4j等從文本文件或xml文檔讀取數(shù)據(jù),而不會(huì)一股腦丟到數(shù)據(jù)庫(kù)中,這幾乎已經(jīng)是一種常識(shí)。
但就功能而言,Properties的操作功能僅僅局限在對(duì)引入的文件進(jìn)行操作,雖然比較適合簡(jiǎn)單的文件讀寫操作,卻遠(yuǎn)沒有xml那么強(qiáng)大,而且多配置時(shí)可能需要多個(gè)文件才能清楚搞定設(shè)置,否則會(huì)亂得一塌糊涂。但就xml而言,即便dom4j或jdom等java中常用的xml操作組件功能已很強(qiáng)大,但大量元素的出現(xiàn)又令其操作沒有Properties調(diào)用來的直觀,而且在文件較小時(shí)xml文檔的處理速度也會(huì)較純文本文件有不必要的浪費(fèi)。
但若為了保存那少得可憐的數(shù)據(jù)而動(dòng)用如access或sqllite等小型關(guān)系數(shù)據(jù)庫(kù),又未免太興師動(dòng)眾,得不償失。
比如我的loonframework-game框架,其本身是一個(gè)java2d游戲開發(fā)組件,所以應(yīng)該提供一個(gè)用戶可以使用的持久存儲(chǔ)環(huán)境,用于存儲(chǔ)地圖,對(duì)話,分支劇情等等。而無論使用Properties或xml,我感覺都有某些局限性,不盡如人意(我很懶~)。
這時(shí)候如果能有一個(gè)組件即象Properties那么易于操作,而又象xml那樣能處理較為復(fù)雜的數(shù)據(jù),又兼?zhèn)淠承?shù)據(jù)庫(kù)特性就好了。
但我手頭卻沒有那么方便的東西,于是只好響應(yīng)在延安的號(hào)召“自己動(dòng)手,豐衣足食”了。
源碼下載地址如下: http://download.csdn.net/source/475512
這是一個(gè)簡(jiǎn)單的嵌入式數(shù)據(jù)庫(kù)java實(shí)現(xiàn),利用純文本方式進(jìn)行數(shù)據(jù)庫(kù)操作,就性質(zhì)上講與Berkeley DB類似,并非標(biāo)準(zhǔn)的關(guān)系型數(shù)據(jù)庫(kù),不支持sql語(yǔ)句,全部操作采用api實(shí)現(xiàn).但目前功能還較為簡(jiǎn)陋,以每一個(gè)表格代表一個(gè)文件中的存儲(chǔ)區(qū)域,雖然有數(shù)據(jù)類型的概念,但是目前每種數(shù)據(jù)類型僅允許對(duì)應(yīng)一個(gè)表,即在構(gòu)建表時(shí)確定,不能混用。已經(jīng)支持CRUD等基本操作,就效率上講要較xml文檔操作為高。
包內(nèi)容如下:
使用示例如下:
但就功能而言,Properties的操作功能僅僅局限在對(duì)引入的文件進(jìn)行操作,雖然比較適合簡(jiǎn)單的文件讀寫操作,卻遠(yuǎn)沒有xml那么強(qiáng)大,而且多配置時(shí)可能需要多個(gè)文件才能清楚搞定設(shè)置,否則會(huì)亂得一塌糊涂。但就xml而言,即便dom4j或jdom等java中常用的xml操作組件功能已很強(qiáng)大,但大量元素的出現(xiàn)又令其操作沒有Properties調(diào)用來的直觀,而且在文件較小時(shí)xml文檔的處理速度也會(huì)較純文本文件有不必要的浪費(fèi)。
但若為了保存那少得可憐的數(shù)據(jù)而動(dòng)用如access或sqllite等小型關(guān)系數(shù)據(jù)庫(kù),又未免太興師動(dòng)眾,得不償失。
比如我的loonframework-game框架,其本身是一個(gè)java2d游戲開發(fā)組件,所以應(yīng)該提供一個(gè)用戶可以使用的持久存儲(chǔ)環(huán)境,用于存儲(chǔ)地圖,對(duì)話,分支劇情等等。而無論使用Properties或xml,我感覺都有某些局限性,不盡如人意(我很懶~)。
這時(shí)候如果能有一個(gè)組件即象Properties那么易于操作,而又象xml那樣能處理較為復(fù)雜的數(shù)據(jù),又兼?zhèn)淠承?shù)據(jù)庫(kù)特性就好了。
但我手頭卻沒有那么方便的東西,于是只好響應(yīng)在延安的號(hào)召“自己動(dòng)手,豐衣足食”了。
源碼下載地址如下: http://download.csdn.net/source/475512
這是一個(gè)簡(jiǎn)單的嵌入式數(shù)據(jù)庫(kù)java實(shí)現(xiàn),利用純文本方式進(jìn)行數(shù)據(jù)庫(kù)操作,就性質(zhì)上講與Berkeley DB類似,并非標(biāo)準(zhǔn)的關(guān)系型數(shù)據(jù)庫(kù),不支持sql語(yǔ)句,全部操作采用api實(shí)現(xiàn).但目前功能還較為簡(jiǎn)陋,以每一個(gè)表格代表一個(gè)文件中的存儲(chǔ)區(qū)域,雖然有數(shù)據(jù)類型的概念,但是目前每種數(shù)據(jù)類型僅允許對(duì)應(yīng)一個(gè)表,即在構(gòu)建表時(shí)確定,不能混用。已經(jīng)支持CRUD等基本操作,就效率上講要較xml文檔操作為高。
包內(nèi)容如下:

使用示例如下:

Java實(shí)現(xiàn)嵌入式數(shù)據(jù)庫(kù)(文本數(shù)據(jù)庫(kù))代碼實(shí)例
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
