Spring Data JPA 是 Spring 基於 ORM 框架、JPA 規範的基礎上封裝的一套JPA應用框架(即上述的:JPA的實現產品),可以使開發者用極簡的代碼便可實現對數據的訪問和操做。它提供了包括增刪改查等在內的經常使用功能,且易於擴展!學習並使用 Spring Data JPA 能夠極大提升開發效率!java
spring data jpa讓咱們解脫了DAO層的操做,基本上全部CRUD(增長(Create)、讀取查詢(Retrieve)、更新(Update)和刪除(Delete))均可以依賴於它來實現spring
總結:springdatajpa讓咱們訪問數據庫更加方便。sql
2.springdatajpa怎麼訪問數據庫數據庫
有兩種方式框架
基本查詢也分爲兩種,一種是spring data默認已經實現,一種是根據查詢的方法來自動解析成SQL。學習
spring data jpa 默認預先生成了一些基本的CURD的方法,例如:增、刪、改等等spa
1寫一個類 繼承JpaRepositorycode
public interface HelloRepository extends JpaRepository<User, Long> { }
其實Spring data 覺大部分的SQL均可以根據方法名定義的方式來實現,可是因爲某些緣由咱們想使用自定義的SQL來查詢,spring data也是完美支持的;在SQL的查詢方法上面使用@Query
註解,如涉及到刪除和修改在須要加上@Modifying
.也能夠根據須要添加 @Transactional
對事物的支持,查詢超時的設置等blog
@Modifying @Query("update User u set u.userName = ?1 where c.id = ?2") int modifyByIdAndUserId(String userName, Long id); @Transactional @Modifying @Query("delete from User where id = ?1") void deleteByUserId(Long id); @Transactional(timeout = 10) @Query("select u from User u where u.emailAddress = ?1") User findByEmailAddress(String emailAddress);