Spring Data JPA :是spring提供了一個操作數據的框架,而Spring Data JPA只是Spring Data框架下的一個基於JPA標準操作數據的模塊。
Spring Data JPA :基於JPA的標準對數據進行操作,簡化操作持久層的代碼,只需要編寫接口就可以。
整合JPA:
依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependenvy>
同時需要數據庫驅動以及數據庫連接池
<!-- mysql數據連接驅動-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency><!-- 數據庫連接池-->
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.9</version>
</dependency>
然後配置一個全局文件,
application.properties --配置數據庫信息,數據庫連接池的信息,SpringDataJpa的配置信息eg:
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true --在後臺輸出sql
Dao層:
/**
*參數一 T:當前需要映射的實體類名
參數二 ID:當前映射的實體中的ID(主鍵)的類型
*/
public interface UserRepository extends JpaRepository<T,ID>{
}
Spring Data Jpa 提供的核心接口:
Repository接口:
Repository接口使用–提供了方法名稱命名查詢方式,
提供了基於@Query註解查詢與更新
例如模糊查找:需要使用Like作爲後綴,否則是找不到結果的。
CrudRepository接口:
PagingAndSortingRepository接口:
JpaRepository接口:
JPASpecificationExecutor 接口:
tips:
@Table(name="t_users") ///告訴項目該註解下的類跟數據庫什麼表起映射作用 ,以及會創建這個表 以t_users做表名
@Id //作用在屬性上--表明該屬性爲主鍵
@GeneratedValue(strategy=GenerationType.IDENTITY) //主鍵生成
@Column(name="id") //1:字段跟表字段起反射,2:創建這個實體類的表的時候 以這個name做爲字段名