javascript
Spring Boot————Spring Data JPA简介
引言
JPA是Java 持久化API的縮寫,是一套Java數據持久化的規范,
Spring Data
Spring Data項目的目的是為了簡化構建基于Spring 框架應用的數據訪問技術,包括對關系型數據庫的訪問支持。另外也包含非關系型數據庫、Map-Reduce框架、云數據服務等等。
Spring Data包含的子項目有:
Spring Data Commons
Spring Data JPA
Spring Data KeyValue
Spring Data LDAP
Spring Data MongoDB
Spring Data Gemfire
Spring Data REST
Spring Data Redis
Spring Data for Apache Cassandra
Spring Data for Apache Solr
Spring Data Couchbase (community module)
Spring Data Elasticseach (community module)
Spring Data Neo4j (community module)
Spring Data 的特點
Spring Data的宗旨就是統一數據訪問的API。?所以它為我們提供使用統一的API來對數據訪問層進行操作;這主要是Spring Data Commons項目來實現的。Spring Data Commons讓我們在使用關系型或非關系型數據訪問技術時都基于Spring 提供的統一標準,標準包括CRUD、排序和分頁的相關操作。
統一的Repository接口
Repository<T, ID extends Serializable>:統一接口
RevisionRepository<T, ID extends Serializable, N extends Number & Comparable<N>>:基于樂觀鎖機制
CrudRepository<T, ID extends Serializable> : 基本CRUD操作
PagingAndSortingRepository<T, ID extends Serializable>:基本CRUD及分頁
數據訪問模板類
如:MongoTemplate、RedisTemplate等
Spring Data JPA
1、JpaRepository基本功能
編寫接口繼承JpaRepository既有crud及分頁等基本功能
2、定義符合規范的方法命名
在接口中只需要聲明符合規范的方法,即擁有對應的功能:
interface PersonRepository extends Repository<User, Long> {List<Person> findByEmailAddressAndLastname(EmailAddress emailAddress, String lastname);// Enables the distinct flag for the queryList<Person> findDistinctPeopleByLastnameOrFirstname(String lastname, String firstname);List<Person> findPeopleDistinctByLastnameOrFirstname(String lastname, String firstname);// Enabling ignoring case for an individual propertyList<Person> findByLastnameIgnoreCase(String lastname);// Enabling ignoring case for all suitable propertiesList<Person> findByLastnameAndFirstnameAllIgnoreCase(String lastname, String firstname);// Enabling static ORDER BY for a queryList<Person> findByLastnameOrderByFirstnameAsc(String lastname);List<Person> findByLastnameOrderByFirstnameDesc(String lastname); }3、@Query自定義查詢,定制查詢SQL
4、 Specification查詢(Spring Data JPA支持JPA2.0的Criteria查詢)
Spring Data結構圖
來看一下Spring Data JPA相互間的結構關系:
可以看到,Spring Data JPA是針對于JPA規范開發的一套上層統一接口。它的實現有Hibernate、Toplink、OpenJPA等,因此,只要掌握了Spring Data JPA中數據訪問用法,在實際生產中選擇要實現的底層框架,就可以省去時間學習五花八門的實際數據訪問框架,節約了學習成本。
綜上,就是關于Spring Data? JPA的相關介紹。
總結
以上是生活随笔為你收集整理的Spring Boot————Spring Data JPA简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Boot 设置 ASCII
- 下一篇: jvm gc垃圾回收机制和参数说明amp