一個輕量級的MongoDB Java開發框架 BuguMongo

fmms 13年前發布 | 58K 次閱讀 Java MongoDB

BuguMongo是一個輕量級的MongoDB Java開發框架,它的主要功能包括:

  • 基于注解的對象-文檔映射(Object-Document Mapping,簡稱ODM)。
  • DAO支持。提供了大量常用的DAO方法。
  • Query支持。提供了生成查詢的簡便方法。
  • 基于注解的Lucene索引。
  • 簡單方便的Lucene搜索。支持關鍵詞高亮顯示。
  • 功能強大的GridFS文件系統管理。支持文件夾功能,支持文件的重命名、移動、排序等操作。
  • 簡單方便的GridFS文件上傳、讀取。支持圖片加水印、圖片壓縮。能用HTTP獲取文件,并能使用HTTP緩存。

使用BuguMongo,可以讓你:

  • 用面向對象的編程思維操縱MongoDB數據庫。
  • 擺脫底層細節處理,專注于業務邏輯。
  • 大大減少代碼量,提高開發效率。

BuguMongo已在多個正式商業項目中使用,并取得了理想的效果。

幫助文檔

BuguMongo的使用非常簡單和直觀,請查看幫助文檔:

版本說明

BuguMongo目前的版本是0.8,于2011-10-19發布,你可以查看版本更新日志

BuguMongo 0.8使用:

  • JDK1.6
  • MongoDB Java Driver 2.6.5
  • Lucene 3.4
  • Log4j記錄日志
項目地址http://code.google.com/p/bugumongo/


MongoDB是一個介于關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。他支持的數據結構非常松散,是類似json的bjson格式,因此可以存儲比較復雜的數據類型。 Mongo最大的特點是他支持的查詢語言非常強大,其語法有點類似于面向對象的查詢語言,幾乎可以實現類似關系數據庫單表查詢的絕大部分功能,而且還支持對數據建立索引。

它的特點是高性能、易部署、易使用,存儲數據非常方便。主要功能特性有:

  • 面向集合存儲,易存儲對象類型的數據。
  • 模式自由。
  • 支持動態查詢。
  • 支持完全索引,包含內部對象。
  • 支持查詢。
  • 支持復制和故障恢復。
  • 使用高效的二進制數據存儲,包括大型對象(如視頻等)。
  • 自動處理碎片,以支持云計算層次的擴展性
  • 支持RUBY,PYTHON,JAVA,C++,PHP等多種語言。
  • 文件存儲格式為BSON(一種JSON的擴展)
  • 可通過網絡訪問

所謂“面向集合”(Collenction-Orented),意思是數據被分組存儲在數據集中,被稱為一個集合(Collenction)。每個 集合在數據庫中都有一個唯一的標識名,并且可以包含無限數目的文檔。集合的概念類似關系型數據庫(RDBMS)里的表(table),不同的是它不需要定 義任何模式(schema)。
模式自由(schema-free),意味著對于存儲在mongodb數據庫中的文件,我們不需要知道它的任何結構定義。如果需要的話,你完全可以把不同結構的文件存儲在同一個數據庫里。
存儲在集合中的文檔,被存儲為鍵-值對的形式。鍵用于唯一標識一個文檔,為字符串類型,而值則可以是各中復雜的文件類型。我們稱這種存儲形式為BSON(Binary Serialized dOcument Format)。

MongoDB服務端可運行在Linux、Windows或OS X平臺,支持32位和64位應用,默認端口為27017。推薦運行在64位平臺,因為MongoDB

在32位模式運行時支持的最大文件尺寸為2GB。

MongoDB把數據存儲在文件中(默認路徑為:/data/db),為提高效率使用內存映射文件進行管理。
logo-mongodb.png

Lucene是一套用于全文檢索和搜尋開源程式庫,由Apache軟件基金會支持和提供。Lucene提供了一個簡單確強大的應用程式接口,能夠做全文索引和搜尋,在Java開發環境里Lucene是一個成熟的免費開放源代碼工具;就其本身而論,Lucene是現在并且是這幾年,最受歡迎的免費java資訊檢索程式庫。人們經常提到資訊檢索程式庫,就像是搜尋引擎,但是不應該將資訊檢索程式庫與網搜索引擎相混淆。

Lucene最初是由Doug Cutting所撰寫的,是一位資深全文索引/檢索專家,曾經是V-Twin搜索引擎的主要開發者,后來在Excite擔任高級系統架構設計師,目前從事 于一些INTERNET底層架構的研究。他貢獻出Lucene的目標是為各種中小型應用程式加入全文檢索功能。

</div>

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!