這篇文章帶給大家的內容是關於Spring Boot中使用Spring Data JPA連結資料庫,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
以前都是用Mybatis進行資料庫的開發,最近學習Spring Boot之後發現JPA顯得更友好,所以我們就一起來了解一下JPA的原理吧。
Spring Data JPA
JPA簡單介紹
Java持久性API(JPA)是Java的一個規格。它用於在Java物件和關聯式資料庫之間保存資料。
JPA充當物件導向的領域模型和關聯式資料庫系統之間的橋樑。由於JPA只是一個規範,它本身不執行任何操作。它需要一個實現。因此,像Hibernate,TopLink和iBatis這樣的ORM工具實作了JPA資料持久性規格。
Spring Data JPA 是 Spring 基於 ORM 框架、JPA 規範的基礎上封裝的一套JPA應用框架,可使開發者用極簡的程式碼即可實現對資料的存取和操作。它提供了包括增刪改查等的常用功能,且易於擴充!學習並使用 Spring Data JPA 可以大大提高開發效率!
基本查詢
Spring Data JPA已經實作了一部分基礎的資料庫操作,包括基本的增刪改查。
第一,需要在pom.xml裡面引入相關的依賴。
<dependency> <groupid>mysql</groupid> <artifactid>mysql-connector-java</artifactid> </dependency> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-data-jpa</artifactid> </dependency>
第二,需要在application.properties設定檔中新增資料庫的相關設定及jpa的相關設定
#配置数据源 spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/springboot spring.datasource.username=username spring.datasource.password=password #jpa数据库表格创建的方式,和控制台sql的打印 jpa.hibernate.ddl-auto=update jpa.hibernate.show-sql=true
第三,寫入實體類別。
正常情況下我們在實體類別上加入註解@Entity,就會讓實體類別和表格相關連。
@Id 是標識出主鍵
@GeneratedValue是指定主鍵的自增方式。
第四,寫查詢方法。
寫一個介面實作JpaRepository介面即可:
繼承JpaRepository之後,就可以使用簡單的增刪改查功能了。
@Test public void testBaseQuery() throws Exception { Girl girl=new Girl(); userRepository.findAll(); userRepository.findOne(1); userRepository.save(girl); userRepository.delete(girl); // ... }
自訂簡單查詢
因為這只能滿足我們的基本查詢,如果不想按照他給的查詢的話我們就需要自己寫查詢語句了嗎?答案肯定是否定的了。我們還是可以依照JPA的規則產生一些查詢語句的。
自訂的簡單查詢就是根據方法名稱來自動產生SQL,主要的語法是findXXBy,readAXXBy,queryXXBy,countXXBy,getXXBy後面跟著屬性名稱:
//传单个值的时候 @Query("select u from User u where u.age = ?#{[0]}") List<user> findUsersByAge(int age); //传多个值的时候 @Query("select u from User u where u.firstname = :#{#customer.firstname}") List<user> findUsersByCustomersFirstname(@Param("customer") Customer customer)</user></user>
以上是Spring Boot中使用Spring Data JPA連接資料庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!