原文鏈接:http://www.open-open.com/3_18.htm
Hibernate
Hibernate是一個開放源代碼的對象關係映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序實用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數據持久化的重任。Eclipse平臺下的Hibernate輔助開發工具:【Hibernate Synchronizer】【MiddlegenIDE】
IBATIS
使用ibatis 提供的ORM機制,對業務邏輯實現人員而言,面對的是純粹的Java對象, 這一層與通過Hibernate 實現ORM 而言基本一致,而對於具體的數據操作,Hibernate 會自動生成SQL 語句,而ibatis 則要求開發者編寫具體的SQL 語句。相對Hibernate等 “全自動”ORM機制而言,ibatis 以SQL開發的工作量和數據庫移植性上的讓步,爲系統 設計提供了更大的自由空間。作爲“全自動”ORM 實現的一種有益補充,ibatis 的出現顯 得別具意義。
JPOX
是一個 Java Data Objects (JDO)實現,提供了Java對象透明的一致性。JPOX 支持多維數據庫(OLAP) 和RDBMS 數據庫。也支持現存的模式
Apache Torque
Apache Torque是一個使用關係數據庫作爲存儲手段的Java應用程序持久化工具,是 Apache 的公開源代碼項目,Torque是一個開源項目,由Web應用程序框架Jakarta Apache Turbine發展而來,但現在已完全獨立於Turbine。 Torque 主要包含兩部分:一部分是 Generator,它可以產生應用程序需要的所有數據庫資源,包括 sql 和 java 文件;另外一部分是 Runtime,提供使用這些代碼訪問數據庫的運行時環境。目前 Torque 支持的數據庫包括 DB2、SQL Server、Oracle、PostgreSQL等。
Castor
Castor 一個Java開放源碼數據綁定框架,它主要目標是提供Java對象與XML 的綁定, Java到SQL的持久化等.
Jaxor
Jaxor是一個簡單但功能強大的創建到關係映像層對象的工具。它允許開發者輕鬆地在表中插入、更新、刪除行,但也可被擴展爲創建一個可擴展的映像層,這個層可創建一個完全的域模型,透明地映射到數據庫表。
jdbm
jdbm是爲Java提供的一個事務持久層,它旨在爲用Perl, Python, C等作爲GDBM 的Java應用程序使用,這是簡單的持久層引擎是輕型而快速的。
pBeans
這是基於Java的持久層。提供了自動的對象/關係(O/R)映射,可以將JavaBeans 映射到數據庫表。功能有持久性、自動錶創建、修改,許多查詢,等等。
Speedo
Speedo實現了JDO規範。它使用了objectweb設計的Jorm, Medor和Perseus 框架。
XORM
XORM是爲Java應用程序提供的一個可擴展的對象關係映射層。它使用Java Data Objects (JDO) API爲RDBMS 提供了基於接口的持久性,同時也允許開發人員集中在對象模型,而不是物理層。
Apache Cayenne
除 Hibernate 之外的另一個開源 O/R 框架 Cayenne ,被成功用於商業生產環境。NHL.com 就是使用的 Cayenne ,每天超過 5 million 次的訪問量。Apache Cayenne是一個強大而易於掌握的Java ORM框架。Cayenne提供了 Java 對象到關係型數據庫的持久化映射管理,單方法調用查詢和更新(包括細粒度的更新所有被修改的對象),無縫隙的把多種數據庫集成到單一虛擬數據源中。Cayenne 由 CayenneModeler 分配——完整的 GUI 映射工具。Cayenne 已被成功部署在高負載的生產環境中。
Torque
Torque項目是Apache的公開源代碼項目,主要用於生成訪問數據庫的資源和java代碼、提供使用這些代碼訪問數據庫的運行時(runtime)環境。通過使用Torque,你可以使用面向對象方式訪問數據庫,不再需要編寫任何SQL語句。目前Torque支持的數據庫包括mysql、oracle、sqlserver、db2等,還包括對weblogic的數據源的支持,
Voruta
Voruta是一個簡單數據庫訪問框架。它通過特定的javadoc來封裝sql的數據操作。其主頁上有簡單的Demo代碼。
JORM
JORM(Java對象存儲映射)Java開源的持久性框架。它爲JOnAS J2EE應用服務器提供EJB 2.0 CMP。JORM還與Speedo JDO實現結合。
Java Ultra-Lite Persistence
一個很小(少於50kB)持久層框架
更多Java Ultra-Lite Persistence信息
SimpleORM
SimpleORM是Java對象關係映射的開源項目.它在JDBC的基礎上提供了一個簡單但高效能的O/R映射.它甚至不需要XML配置文件.
Prevayler
Prevayler一個把Java對象都保持在內存中的持久層框架,不需要數據庫。可以這麼說到目前爲止對於POJOs(Plain Old Java Objects )是最快的,最顯然的對象持久化,具有容錯機制,提供負載平衡的框架。Prevayler在Eclipse下的插件Preclipse
DBCPersistence
DBCPersistence同樣也是一個OR映射框架,但它在實現方式和API上與其它同類型框架有着不同之處.它的代碼是使用字節碼產生.這框架產生實現JDBC邏輯的CLASSES同樣也是特殊的一對table/bean.DBCPersistence在運行期當需要的時候生成持久類.使個整個開發過程變得不太重要.這整個框架都是通過API進行配置,這樣較大的改善了啓動時間和減少了整個包的大小.
TJDO
TJDO是一個實現了Sun's JDO(JSR 12)規範的開源持久層框架.TJDO自從2001年以來已經成功地部署與運行在許多商業應用上。它具有以下特性:
*經測試支持的數據庫有Cloudscape, DB2, Firebird, MySQL, Oracle, PostgreSQL, SAP DB, 與MS SQL Server.
*支持JDO 1.0.1。
*實現所有JDOQL查詢語言和其它一些有用的方法
*自動創建所有需要的schema elements(表格,索引,外鍵)依據你的程序Class和JDO metadata
*這是一個輕量級快速的框架
TranQL
TranQL是一個開放源碼,持久化引擎框架。通過JDBC支持SQL-92 和 SQL-03數據庫引擎。支持EJB2.1。該項目被用來支持Geronimo J2EE應用服務器的持久化機制。
TranQL
TranQL是一個開放源碼,持久化引擎框架。通過JDBC支持SQL-92 和 SQL-03數據庫引擎。支持EJB2.1。該項目被用來支持Geronimo J2EE應用服務器的持久化機制。
O/R Broker
O/R Broker也是一個O/R映射工具,它允許使用構造函數,setter方法,JavaBean屬性,直接域訪問.開發者可以靈活地控制SQL,並允許執行細粒度的操作.
Butler
Butler數據庫框架是一個面向表格的Java對象模型(model).它基於JDBC可以讓開發數據庫程序變得容易.Butler有一組數據庫swing組件與一個JSP標籤庫.
OJB
ObJectRelationalBridge-OJB是基於XML的對象/關係映射工具.OJB提供一些高級的特性如:對象緩存,延遲加載,利用事務隔離級別的結構進行分佈式管理,支持悲觀與樂觀鎖.OJB還提供了一個靈活的配置與插件機制以便可以擴展加入自己的功能.
PriDE
PriDE一個高性能的對象/關係映射框架.它有沒有遵循任何持久層管理標準如JDO與EJB-CMP而是依賴於在J2SE與 J2EE環境中被實際證實可用的公認的設計模式.
subPersistence
subPersistence是一個抽象(abstract)的,輕量級的而且靈活的對象/關係持久層框架.它提供了類似於Hibernate或Castor功能.
PAT
PAT是一個持久層工具包,像許多其它框架一樣它簡化了商業應用程序的持久層開發.PAT使用一些Java技術如:OO,AOP (JBossAOP),Java,Prevayler,Ant,JUnit,Log4j等爲應用程序提供一個透明的數據層.它能夠與web應用程序(Struts,Tomcat,JBoss AS)很好的相結合.
Mr.Persister
Mr.Persister是一個既簡單又小的O/R映射API。可以從關係型數據庫讀取Java對象,也可以把Java對象寫到數據庫中。Mr. Persister主要的特點:
沒有映射文件也不需要手動映射。
沒有自己特有的查詢語言。
Jar文件只有97KB。
Mr. Persister的運行體系都是以組件的方式實現。
Compass
Compass是一個強大的,事務的,高性能的對象/搜索引擎映射(OSEM:object/search engine mapping)與一個Java持久層框架.Compass包括:
* 搜索引擎抽象層(使用Lucene搜索引薦),
* OSEM (Object/Search Engine Mapping) 支持,
* 事務管理,
* 類似於Google的簡單關鍵字查詢語言,
* 可擴展與模塊化的框架,
* 簡單的API.
Bhavaya
Bhavaya是一個Java庫它提供實時地與最新狀態地(up-to-date)訪問數據庫數據.它一個包含持久層.這個框架利用數據庫中的數據來填充Java對象並保持對象中的數據是最新的的.這個類庫也提供許多當處理頻繁地數據交換時經常要用的用戶接口與工具類.
Ammentos
Ammentos是一個適用於JDK5,輕量級的,開源的持久層框架. 它與JDK5註釋(annotations)相結,支持事務,支持事件驅動編程,不需要配置,使用簡單等.
Simple persistence
Simple persistence是一個O/R映射框架。它使用簡單,沒有XML映射文件、不需要創建表格(將自動創建)、不用生成ID、不用理會關鍵字,只需把它指向數據庫,就可以實現新增、修改、刪除、查詢操作。Simple persistence支持事務,有自己的簡單查詢語言(類似於Hibernate的HQL),並能夠處理對象關聯,lists和maps。
EasyDBO
EasyDBO是一個非常適合中小型軟件數據庫開發的數據持久層框架,系統參考hibernate、JDO等,結合中小項目軟件的開發實際,實現簡單的對象-關係數據庫映射。
Speedframework
Speed 快速J2EE 開發框架Speedframework是一個完全基於JDBC開發的輕量級持久層框架. 它可以直接調用SQL,也可以直接對POJO進行CRUD操作,代碼與ORM相當.調試方便,不用配置,內置JCS緩存,能有效降低數據庫壓力.
speed框架具有如下特點:
1.免配置持久層,免配置可以減少開發中配置帶來的煩惱,調試帶來的煩惱。
2.完全是jdbc封裝操作,性能完全沒問題。
3.jcs cache實現,對於數據庫操作對象緩存減輕數據庫壓力。
4.自帶分頁組件,完全可以直接傳入一條sql即可完成困難的分頁邏輯,可以由客戶自定義。
5.結合表、視圖實體邏輯設計模式可以實現xp開發。
6.speed能自動識別表字段pk的自增主鍵,並可以返回自增字段值。
7.實現了jdbc的批處理封裝,存儲過程調用等jdbc api常用的封裝。
8.降低了入門門檻,有利於初期開發和中後期維護,適用於開發程序員經常更換的團隊。
Ebean ORM
Ebean是一個對象/關係映射持久層框架。它與EJB3相類似,但該框架簡單易於學習和使用。它特點: 1.兼容EJB3 ORM映射。2.支持級聯保存和刪除。3.支持懶加載。4.事務管理和日記功能。5.Statement Batching 5.支持緩存。6.Clustering。7.集成Lucene文本搜索。
Velosurf
Velosurf是一個基於Apache Velocity模板引擎的Java數據庫映射層。它以一種非傳統的方式來自動映射數據庫表格和字段,而且還能夠很方便定製自定義實體,查詢和SQL行爲。Velosurf主要特性包括:易於使用的模板語法,代碼分離:SQL查詢都集中在同一個地方並且看起來像標準的對象屬性。動態映射:當數據庫有變動時不需要重新編譯。自動連接恢復。基本數據類型映射。事務控制。當需要的時候能夠覆蓋默認的Java映射對象。提供一些基礎功能包括:權限控制機制,國際化支持,數據校驗機制。
OpenJPA
OpenJPA是Apache組織的一個Java EE持久層開源項目,它實現了EJB3.0中的JPA標準,爲開發者提供功能強大、 使用簡單的持久化數據管理框架。OpenJPA封裝了和關係型數據庫交互的操作,讓開發者把注意力集中在編寫業務邏輯上。OpenJPA既可以作爲獨立的POJO持久層框架使用,也可以與所有符合EJB 3.0標準的容器或者其它輕量級框架相集成。
Dcoat
Dcoat:Java持久層框架。Dcoat的理念就是:
1,易學易用。不把在開發ORM框架本身中冒出的問題或概念帶到用戶面前。
2, 高性能。在不用cache的情況下,保持與Jdbc同級的速度;設計高效率的cache,在有限空間裏,解決或最大程度上緩解用戶的性能問題。
3,提倡清潔舒心編程。提供一套最小完整的接口和一些代碼自動生成工具。
4,高效率。這是爲(dcoat的)客戶提供的核心價值之一,也是我們開發dcoat中一直關注,強調和實施的重要目標。
jLynx
jLynx是一個簡單、輕量級、高性能的持久層框架。它非常適合於中小應用程序開發,其jar文件大小隻有32K並且不依賴任何第三方組件。jLynx的API遠比Hibernate、EJB 或JPA來得簡單。POJO與java.util.Map持久化都是使用現有JDBC標準。經測試支持的數據庫包括:Microsoft SQL Server 2000+、Oracle 9i、10g、IBM DB2/UDB、MySQL和HSQL。 支持通過XML定義SQL查詢。提供完整的示例包括POJO與JSP代碼生成。
Floggy
Floggy是一個適用於J2ME/MIDP應程序的對象持久化框架。該框架封裝了數據持久化的詳細細節,減少了開發與維護的成本。
Floggy由兩個模塊組成:
jPersist
jPersist是一個非常強大,輕量級,對象-關係數據庫持久API,所以不需要用到配置文件和註釋(automatic)。映射是自動的。jPersist使用JDBC所以兼容任何關係型數據和任何類型連接資源。jPersist使用從數據庫獲得的消息來處理數據庫與Java對象的映射。
SeQuaLite
SeQuaLite是一個輕量級java數據庫訪問框架。具有的特性包括:提供CRUD操作、懶加載(Lazy-Load)、級聯操作(Cascading)、分頁(Paging)、動態SQL生成等。它能夠幫助有效地減少開發時間。
ActiveObjects
ActiveObjects是一個純Java ORM框架。AO有一套非常易於使用和簡單的API。AO能自動根據用戶指定的實體接口生成數據庫schema。由於採用原生懶加載加上成熟的緩存機制,使得ActiveObjects與其它ORM框架相比較具有更高的性能。
Slice
Slice擴展自OpenJPA用於分佈式數據庫的一個開源項目。Slice以插件的方式附加至OpenJPA runtime,通過配置一個持久單元就能夠激活多個數據庫支持。一旦配置好Slice,現有OpenJPA應用程序就能夠在同一個事務中利用多個數據庫進行處理。查詢也將依賴所有數據庫並行執行,任何更新也會提交至相應的數據庫。
DataNucleus Access Platform
DataNucleus Access Platform是一個符合標準的Java持久化引擎。它完全符合JDO1,JDO2,JDO2.1與JPA1 Java標準。此外它還遵循OGC簡單要素規範(Simple Feature Specification)用於地理空間數據類型的持久化。DataNucleus支持當前所有流行RDBMS和db4o,LDAP,Excel文件,XML數據庫。
更多DataNucleus Access Platform信息
COPE
相對於其它持久層框架,COPE能夠讓應用程序開發變得高效、快速。特性:不需要編寫任何XML文件,所有配置都在java源代碼中指定。不需要創建數據庫Table,COPE自動創建。透明加載和存儲持久對象。提供易於使用的搜索API用於複雜查詢。完全與數據庫隔離,消除SQL注入安全攻擊。自帶一個Web應用程序用於維護persistent schema並且不會丟失數據。經測試支持的數據庫包括 HSQLDB,MySQL,Oracle和PostgreSQL。
SeQuaLite
SeQuaLite是一個輕量級,java數據存取框架。支持CRUD操作。支持對象懶加載,通過創建代理對象或空對象來代替,等有需要時再加載。支持級聯保存與級聯刪除操作。SeQuaLite使用 prepared statement來執行查詢,因此它更快,更安全。使用SeQuaLite能夠避免SQL注入安全威脅。SeQuaLite能夠創建和執行復雜的查詢/DML,並支持分頁。
Objective Database Abstraction Layer
Objective database abstraction layer (ODAL) 是一個高性能的數據操作框架。特性包括:查詢API,O-R映射,數據校驗與類型轉換,存儲過程支持,代碼生成,啓動速度快。
更多Objective Database Abstraction Layer信息
Butterfly Persistence
Butterfly Persistence是一個簡單,注重實效的Java持久層框架。它的特性包括:可自動或手動管理連接;通過提供類似於Spring的JDBC模板來簡化JDBC操作;簡單的對象/關係映射;支持多種映射方式(自動/註釋/編程)。
Ujorm
Ujorm是一個開源的對象-關係映射實現框架(ORM )。擁有一個類型安全的查詢語言,可以讓java編譯器檢查語法錯誤。支持懶加載,擁有比Hibernate更高的性能。ORM模型既可以通過Java源代碼配置,也通過註釋或XML文件配置。ORM可映射數據庫中的表格,視圖或自定義的SQL查詢。JDBC查詢參數通過問號傳遞給PreparedStatement,以提高安全性。所有內部對象緩存都基於WeakHashMap類實現,所以在處理大量事務的時候不會引會內存溢出錯誤。
Apache Empire-db
Apache Empire-db是一個開源的關係型數據持久化組件,能夠實現數據庫無關的動態查詢定義,簡便的數據讀取和更新。與其它持久化組件相比如:Hibernate、TopLink、iBATIS或JPA實現,Empire-db更注重編譯期類型安全,減少冗餘,開發效率的改進。Empire-db所有的數據庫實體都通過動態bean進行管理,因此允許在運行期改變數據模型。
guzz
guzz是一種用來進行快速開發和高性能網站設計的框架,用於替代或者補充hibernate或ibatis的持久化實現,並提供更多的大型系統架構設計支持。guzz的目標是使得大型化網站設計更加簡單,團隊分工更加明確,框架在使用時更少出問題。主要設計理念:
- 更容易的團隊管理和人員分工
- 現代大規模系統設計
- 支持像hibernate一樣的對象持久,映射和方便的增刪改查
- 支持像ibatis一樣,讓dba參與sql設計的複雜數據庫操作和優化
- 支持大量的數據庫和主從分離
- 支持數據表在多組機器中水平分佈(Shard)
- 組件化服務(SOA),構建企業基礎服務平臺
- 提高xx%倍效率的快速開發
- 支持配置管理服務器,對所有應用程序的配置進行統一管理
Express-Persist
Express-Persist是一個能夠減少JDBC複雜性的持久層框架。這個框架只需要DAO接口不需要任何JDBC代碼。所有SQL操作都用Java5註釋寫在DAO接口中。在運行期能夠動態創建DAO接口的實現不需要JDBC代碼。支持本地事務處理。
SimpleJPA
SimpleJPA是Java Persistence API(JPA)的一個實現,用於Amazon的SimpleDB雲數據庫。支持多對一、一對多映射,支持映射對象和集合的懶加載,利用Amazon S3實現LOB支持,提供緩存實現二次查詢的快速響應,支持JPA Queries查詢語法。
Ar4j
Ar4j是一個輕量級的持久層框架基於Rails中的ActiveRecord設計模式。所有JDBC操作都是使用Spring的簡單JDBC框架執行。使用DB感知的POJOs來與數據庫交互。支持自定義類型。提供最基本的CRUD操作(find、count、save、reload、delete)。要使用這些功能只需實現一個接口,不用繼承特定的類。基於約定(Convention)的配置,一些需要細粒度控制則採用註釋實現。支持原生SQL查詢和名稱查詢。支持事務控制。
Persistence4j
Persistence4j是一個非常簡單,輕便的持久層框架。映射關係採用Java註釋實現。
AutoDAO
AutoDAO的目標是讓Java DAO類的創建變得儘可能簡單。只要設計DAO接口,並在接口中利用註釋編寫必要的HQL,就能夠實現所需要的功能。不需要編寫實現代碼和複雜的XML配置。對於Common DAO查詢可以不用寫任何持久化代碼,支持Hibernate/JPA,支持在代碼編譯的時候就能夠檢查CRUD操作。支持分頁,命名參數,命名查詢和HQL校驗以實現複雜HQL語句的簡單化。
Empire
Empire提供了一個基於SPARQL與SeRQL查詢語言,類似於標準JPA風格的接口來訪問RDF數據庫。Empire的目標是儘可能多的實現JPA API,從而爲RDF提供一個簡單ORM持久層。
收錄時間:2010-10-11 10:10:19
ORMLite
ORMLite是一個輕量級對象關係映射持久層框架。ORMLite支持MySQL、Postgres、Microsoft SQL Server、H2、Derby、HSQLDB和Sqlite。提供靈活的QueryBuilder來構建複雜的查詢。強大的DAO抽象類,讓你的數據庫讀寫類只需5行代碼,能夠自動生成SQL來創建和刪除數據庫表格。
收錄時間:2010-11-10 22:36:01
GORM
GORM是Grails對象關聯映射(GORM)的實現。在底層,它使用 Hibernate3,但是因爲Groovy天生的動態性,實際上,對動態類型和靜態類型兩者都支持,由於Grails的規約,只需要很少的配置涉及Grails domain 類的創建。 你同樣可以在Java中編寫 Grails domain 類。 請參閱在 Hibernate 集成上如果在Java中編寫 Grails domain 類, 不過,它仍然使用動態持久方法。
收錄時間:2010-11-25 13:52:38
Morphia
Morphia是一個輕量級的類型安全的Java類庫,用來將在MongoDB 和Java對象之間進行映射。支持類型安全查詢,採用Java註釋描述映射關係。
收錄時間:2010-12-19 17:32:39
DAO Fusion
DAO Fusion是一個輕量級,全面並且可擴展的Data Access Object(DAO)框架。基於Java Persistence API(JPA)和Hibernate構建。可以將DAO Fusion做爲DAO層的一個基礎框架,它封裝了一些常用的數據庫操作。
收錄時間:2011-01-10 21:39:24
Carbonado
Carbonado是一個可擴展、高性能的Java持久層框架。即使後臺數據庫不是基於SQL的,Carbonado仍然能夠支持許多在任意關係型數據庫中擁有的核心特性如: 查詢, 關聯、索引和執行查詢優化。
收錄時間:2011-02-08 16:51:06
Spring Data
Spring Data這個項目的目標主要是讓訪問No-SQL更加方便、支持map-reduce框架和雲計算的數據服務。其第二個目標就是支持基於關係型數據庫的數據服務,如Oracle RAC。對於擁有海量數據的項目,可以用Spring Data這樣的項目來簡化項目的開發,如Spring Framework剛誕生時支持JDBC,ORM一樣,Spring Data會讓數據的訪問變得更加方便。Spring Data由多個子項目組成,支持CouchDB、MongoDB、Neo4J、Hadoop、HBase、Cassandra等。
收錄時間:2011-02-12 09:03:58
SimpleJDBC
SimpleJDBC是一個用於簡化JDBC代碼的簡單框架,需Spring集成。SimpleJDBC讓你用簡單的SQL語句完成增刪改查,同時支持強類型和Java泛型,僅需注入一個Db實例。
設計思想
- 契約優於配置,表名和類名一致,字段名和屬性名一致;
- 不需編寫DAO,爲一兩行SQL編寫一個DAO方法不值;
- 簡單的SQL語句,而不是經過ORM改造的HQL;
- 沒有Attach/Detach狀態,均爲原始Bean無CGLIB代理;
- 沒有一級/二級Cache,Cache應當用memcached,用不上memcached則說明壓力小到根本無需Cache;
- 外鍵也映射到簡單字段,而非對象,不支持一對多或多對一的級聯查詢,永遠不用擔心查出額外對象;
- 泛型和強類型支持,有SQL語句,但無JDBC代碼;
- 不支持join等複雜查詢,必須增加表的冗餘以便使用簡單查詢。
收錄時間:2011-03-11 08:50:42
JEPLayer
JEPLayer是一個構建在JDBC之上的簡單ORM持久層框架。基於攔截監聽模式。
1)簡單的API來避免處理乏味的JDBC任務。
2) 多個可選的監聽器來靈活定製JDBC持久化生命週期
3) 構建簡單和複雜DAOs的方法
4) 一個非常簡單,自動的,可配置的和無差錯的方式來劃分事務
5) 它不會取代JDBC,而是當有需要的時候可以方便取得JDBC對象。
6) Ever using PreparedStatement, ever secure
7) PreparedStatement對象將自動緩存和複用。
實際上JEPLayer是JBDC API反轉控制版本。
收錄時間:2011-04-03 11:01:30
Gora
Gora是一個設計用於列存儲數據庫的ORM框架比較如:Apache HBase and Apache Cassandra。 特別專注於Hadoop。
收錄時間:2011-04-06 15:43:34
阿里巴巴CobarClient
CobarClient是一個輕量級分佈式數據訪問層(DAL)基於iBatis(已更名爲MyBatis)和Spring框架實現。中文文檔
-
可以支持垂直和水平數據切分數據庫集羣的訪問;
-
支持雙機熱備的HA解決方案, 應用方可以根據情況選用數據庫特定的HA解決方案(比如Oracle的RAC),或者選用CobarClient提供的HA解決方案.
-
小數據量的數據集計(Aggregation), 暫時只支持簡單的數據合併.
-
數據庫本地事務的支持, 目前採用Best Efforts 1PC模式的事務管理.
-
數據訪問操作相關SQL的記錄, 分析等.(可以採用國際站現有Ark解決方案,但CobarClient提供擴展的切入接口)
收錄時間:2011-04-23 10:44:08
UrSQL
UrSQL是一個用於Java桌面應用程序,簡單的數據持久化存儲API。UrSQL不需要任何類型的服務器或驅動器。它採用鍵-值對的方式來存儲實體,讓數據的存儲儘可能簡單。
收錄時間:2011-05-10 08:44:34
kundera
kundera是一個開源的JPA1.0 ORM類庫,主要用於NoSQL數據庫:Cassandra/Hbase/MongoDB的數據持久化操作。
收錄時間:2011-05-17 10:17:26
Easy Java Persistence
EJP是一個強大並且易於使用的關係數據庫持久化Java API。EJP的主要特性包括:
1、對象/關係(object/relational)自動映射(A-O/RM)
2、自動處理所有關聯
3、自動持久化跟蹤
EJP不需要映射註釋或XML配置,並且不需要繼承任何類或實現任何接口。EJP只用到了Plain Old Java Objects (POJOs)對象。到目前爲止,EJP是Java開源中最簡單的持久化API。
收錄時間:2011-06-15 23:07:48
Persevere
Persevere是一組開源的工具用於持久化和分佈式計算,使用一個直觀基於HTTP REST、JSON-RPC、JSONPath和REST Channels標準JSON接口。Persevere項目的核心是Persevere Server,這個Persevere Server包含一個Persevere JavaScript Client,但是其基於標準的接口可以與任何框架集成使用或被任意客戶端調用。Persevere Server是一個對象存儲引擎和應用服務器(運行在Java/Rhino之上) ,它提供一個服務器JavaScript環境來實現動態JSON數據的持久化數據存儲。支持通過標準JSON HTTP/REST Web接口來創建、讀取、更新和刪除數據。
收錄時間:2011-06-21 09:07:28
Hibernate OGM (Object/Grid Mapper)
Hibernate Object/Grid Mapper (OGM)這個項目能夠爲NoSQL數據庫提供Java Persistence(JPA)支持。它複用了Hibernate Core引擎將實體持久化至NoSQL數據存儲中,而不是關係型數據庫中。它還複用了Java Persistence Query Language(JP-QL)來搜索數據。這個項目現在還處於初期階段,但隨着時間的推移它的功能將逐漸增強。
短期目標是:
1、支持Infinispan (已實現)
2、支持Hibernate Search全文搜索(已實現)
3、支持簡單JP-QL查詢
中期目標是:
1、支持其它key/value存儲
2、支持其它NoSQL數據庫
3、支持複雜的關聯和聚合 <
Infinispan 是個開源的數據網格平臺。它公開了一個簡單的數據結構(一個Cache)來存儲對象。雖然可以在本地模式下運行Infinspan,但其真正的價值在於分佈 式,在這種模式下,Infinispan可以將集羣緩存起來並公開大容量的堆內存。這可比簡單的複製強大的多,因爲它會爲每個結點分配固定數量的副本——服 務器故障的一種恢復手段——同時還提升了可伸縮性,這是由於存儲每個結點所需的工作量是與集羣大小息息相關的。
Infinispan提供了一種簡單的機制來利用大容量的堆內存。如果對每個結點維護一個拷貝,假如集羣當中有100個結點,每個結點分配2GB的堆內存, 那麼網格中的任何實例都能使用多達100GB的空間,這可都是內存,顯然速度會非常快。同時Infinispan還兼容於JTA,這樣它就能很好地處理事務 了。我們還有一個超級強大的異步API,它可以保證同步的網絡調用以及異步調用的並行性及可伸縮性。比方說:Future f = cache.putAsync(k, v) 可以阻塞線程,再調用f.get()可以讓網絡調用繼續進行或是忽略掉f。更爲重要的是,線程還可以做別的事情,這一點非常有用。然後再回來通過調用 f.get()來檢查該網絡調用是否能繼續進行。可以將其看作是NIO與傳統的阻塞性IO之間的關係。
Infinispan公開了一個CacheStore接口和幾個高性能的實現,包括JDBC CacheStores、基於文件系統的CacheStores以及Amazon S3 CacheStores等等。CacheStores可用作“溫啓動(warm starts)”或是確保網格中的數據在重啓後依然可用,同時在內存耗盡時還能將數據寫到磁盤上。
主要特點:
- 大量的堆體
- 極高的可擴展性
- 快速輕量級核心
- 不僅僅支持Java(PHP,Python,Ruby,C…)
- 支持Compute Grids
- 管理是關鍵:當你在grid上運行幾百個服務時,實現管理是必須的
收錄時間:2011-06-22 08:42:21
更多Hibernate OGM (Object/Grid Mapper)信息
restSQL
restSQL是一個用於HTTP客戶端的超輕量級數據訪問層。實質上restSQL是一個持久層框架處於典型三層框架(客戶端 - 應用服務器 - 數據庫)中的中間層。它還可以作爲一個Java類庫嵌到其它應用的任何中間層中。restSQL使用簡單的RESTful HTTP API來訪問資源,基於XML或JSON數據格式。
收錄時間:2011-07-20 23:06:52
ActiveJDBC
ActiveJDBC是Active Record設計模式的一個Java實現。ActiveRecord ORM源於 Ruby on Rails。ActiveJDBC不是構建在Hibernate之上的一個持久層,也不是JPA的一個實現。它有自己的一套註釋(可選),大部分情況下是不用配置的,採用約定俗成的方式代替,將自動實現模型與數據庫表格的映射。當前支持的數據庫包括:MySQL、PostgreSQL、Oracle和H2。
詳細見:http://java.sys-con.com/node/1912289
收錄時間:2011-07-21 08:59:19
MongoDB的Java開發框架 BuguMongo
BuguMongo是一個輕量級的MongoDB Java開發框架,它的主要功能包括:
- 基於註解的對象-文檔映射(Object-Document Mapping,簡稱ODM)。
- DAO支持。提供了大量常用的DAO方法。
- Query支持。提供了生成查詢的簡便方法。
- 基於註解的Lucene索引。
- 簡單方便的Lucene搜索。支持關鍵詞高亮顯示。
- 功能強大的GridFS文件系統管理。支持文件夾功能,支持文件的重命名、移動、排序等操作。
- 簡單方便的GridFS文件上傳、讀取。支持圖片加水印、圖片壓縮。能用HTTP獲取文件,並能使用HTTP緩存。
使用BuguMongo,可以讓你:
- 用面向對象的編程思維操縱MongoDB數據庫。
- 擺脫底層細節處理,專注於業務邏輯。
- 大大減少代碼量,提高開發效率。
收錄時間:2011-10-20 22:55:12
更多MongoDB的Java開發框架 BuguMongo信息
Burst
輕量級通用數據庫開發框架(Java)
框架的功能
1:對應Oracle, Db2, Sql Server, My sql四種數據庫
2:使用Excel定義表結構,用宏自動創建表定義和數據模型的java類
3:自動創建和刪除數據庫表、索引、序列
4:封裝了數據庫連接池、CRUD、多表聯合檢索、多字段多匹配方式(equal,like,between….)、排序、分頁檢索、通過複雜條件update或delete數據 等常用數據庫功能,直接操作對象,而不需要寫任何sql
好處
1:框架非常簡單,一看就會
2:開發迅速,簡單的應用,Server端有個半天一天就夠了
3:減少Bug,代碼很規範,而且容易出錯的地方都封裝了
4:維護方便,就算是更改表結構,也很輕鬆
需要準備的開發環境
1:安裝好數據庫(以上4種之一,不推薦Sql server,比較麻煩)
2:安裝好eclipse 或 myeclipse
3:安裝好excel
使用方法
1:從google code下載項目文件和TblDesigner.xls
2:使用TblDesigner.xls定義表結構,運行宏,並將生成的目錄覆蓋到項目目錄
3:配製db.properties文件
4:用eclipse打開項目,可以開始寫業務邏輯了
5:functionTest包下有部分測試過程,可作參考
收錄時間:2011-11-18 14:01:25
備註:深度開源裏的東西:
Web開發
服務器
開發工具
其它
數據庫相關
應用系統
組件類庫
持久層框架