springdatajpa 認識以及使用方式

1.spingdatajpa是什麼?

  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怎麼訪問數據庫數據庫

 有兩種方式框架

  

1.基本查詢

 

  基本查詢也分爲兩種,一種是spring data默認已經實現,一種是根據查詢的方法來自動解析成SQL。學習

 

  先生成方法

 

  spring data jpa 默認預先生成了一些基本的CURD的方法,例如:增、刪、改等等spa

 

  1寫一個類 繼承JpaRepositorycode

  

    public interface HelloRepository extends JpaRepository<User, Long> {
    }

 

2.自定義SQL查詢

其實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);
相關文章
相關標籤/搜索