SpringdataJpa的官方API學習
阿新 • • 發佈:2018-01-09
mon inter req pre 概念 mic spring 總數 tin
(將對Springdata JPA的API 第三章之後進行解釋)
一 . Core concepts(核心概念)
1.springdata中的中心接口是——Repository。這個接口沒有什麽重要的功能(原句稱沒什麽驚喜的一個接口)。主要的作用就是標記和管理。其他的接口都是此接口的子類。
Example 1:
1 public interface CrudRepository<T, ID extends Serializable> extends Repository<T, ID> { 2 <S extends T> S save(S var1);//保存給定的實體3 4 <S extends T> Iterable<S> save(Iterable<S> var1);//保存指定的實體集合 5 6 T findOne(ID var1);查詢指定id的實體 7 8 boolean exists(ID var1);//判斷一個實體是否與給定的ID存在 9 10 Iterable<T> findAll();//返回所有實體 11 12 Iterable<T> findAll(Iterable<ID> var1);//查詢指定的實體集合 13 14long count();//該實體的總數 15 16 void delete(ID var1);//根據id刪除指定實體 17 18 void delete(T var1);//刪除指定實體 19 20 void delete(Iterable<? extends T> var1);//刪除指定的實體集合 21 22 void deleteAll();//刪除全部 23 }
除此還提供了一些技術相關的接口,比如 JpaRepository,MongoRepository這兩個接口繼承了CrudRepository。
2.CrudRepository
1)CrudRepository有個子類PagingAndSortingRepository,增加了一些方法來實現分頁。
Example 2:
1 public interface PagingAndSortingRepository<T, ID extends Serializable> extends CrudRepository<T, ID> { 2 Iterable<T> findAll(Sort var1); 3 4 Page<T> findAll(Pageable var1); 5 }
Example 3:Sort中創建的是自定義的排序方式,PageRequest中創建的是自定義分頁的方式(註意:分頁索引是從0開始,所以想要查詢第一頁二十條數據時,應插入(0,20))。
dao層:
Controller(直接調用,沒通過Service):
2)除了查詢,計數和刪除查詢都可以使用
Example 4:
SpringdataJpa的官方API學習