簡介
Spring Data是什么?
Spring Data是一個用于簡化數據庫訪問,并支持云服務的開源框架。其主要目標是使得對數據的訪問變得方便快捷
Spring Data JPA能干什么?
Spring Data JPA: 致力于減少數據訪問層(DAO)的開發量。開發者唯一要做的,就只是聲明持久層的接口,其他都交給Spring Data JPA 來幫你完成!可以極大的簡化JPA的寫法,可以在幾乎不用寫實現的情況下,實現對數據的訪問和操作。除了CRUD外,還包括如分頁、排序等一些常用的功能。
框架怎么可能代替開發者實現業務邏輯呢?比如:當有一個UserDao.findUserById()這樣一個方法聲明,大致應該能判斷出這是根據給定條件的ID查詢出滿足條件的User對象。Spring Data JPA 做的便是規范方法的名字,根據符合規范的名字來確定方法需要實現什么樣的邏輯。
Spring Data JPA 有什么?
主要來看看Spring Data JPA提供的接口,也是Spring Data JPA的核心概念:
1:Repository:最頂層的接口,是一個空的接口,目的是為了統一所有Repository的類型,且能讓組件掃描的時候自動識別。
2:CrudRepository :是Repository的子接口,提供CRUD的功能
3:PagingAndSortingRepository:是CrudRepository的子接口,添加分頁和排序的功能
4:JpaRepository:是PagingAndSortingRepository的子接口,增加了一些實用的功能,比如:批量操作等。
5:JpaSpecificationExecutor:用來做負責查詢的接口
6:Specification:是Spring Data JPA提供的一個查詢規范,要做復雜的查詢,只需圍繞這個規范來設置查詢條件即可
特征
強大的存儲庫和自定義對象映射抽象
從存儲庫方法名稱中進行動態查詢導出
實現域基類提供基本屬性
支持透明審核(創建,最后更改)
集成自定義存儲庫代碼的可能性
Easy Spring通過JavaConfig和自定義XML命名空間進行集成
與Spring MVC控制器進行高級集成
跨店存儲的實驗支持