Spring Data是Spring 的一個子項目。用於簡化數據庫訪問,支持NoSQL和關系數據庫存儲。其主要目標是使數據庫的訪問變得方便快捷。
Spring Data 項目所支持NoSQL存儲:
- MongoDB(文檔數據庫)
- Neo4j (圖形數據庫)
- Redis(鍵/值存儲)
- Hbase(列族數據庫)
Spring Data 項目所支持的關系數據存儲技術:
- JDBC
- JPA
其他技術介紹
1. Hibernate
Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,它將POJO與數據庫表建立映射關系,是一個全自動的orm框架,hibernate可以自動生成SQL語句,自動執行,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的JaveEE架構中取代CMP,完成數據持久化的重任。
2. JPA標准
JPA是Java Persistence API的簡稱,中文名Java持久層API,是JDK 5.0注解或XML描述對象-關系表的映射關系,並將運行期的實體對象持久化到數據庫中。
Sun引入新的JPA ORM規范出於兩個原因:
(1) 簡化現有Java EE和Java SE應用開發工作;
(2) Sun希望整合ORM技術,實現天下歸一。
3. Hibernate JPA
4. Spring Data JPA
Spring Data JPA是Spring Data大家庭的一部分,它使得那些以JPA接口為規范的應用更加方便, 致力於減少數據訪問層(DAO)的開發量。
Spring Data JPA 底層默認的使用的是 Hibernate 來做的 JPA 實現。
其技術特點:我們只需要定義接口並集成 Spring Data JPA 中所提供的接口就可以了。不需要編寫接口實現類。
5. Spring Data Redis
Spring Data Redis是Spring Data大家庭的一部分,它提供了更加簡單的配置來訪問redis。