版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cheidou123/article/details/84428092
一、什么是JPA
JPA全称Java Persistence API,是一组用于将数据存入数据库的类和方法的集合。
二、JPA的基本配置
1 jpa配置
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
2 创建dto对象
package com.example.demo.dto;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class Customer {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
private String firstName;
private String lastName;
protected Customer() {}
public Customer(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
@Override
public String toString() {
return String.format(
"Customer[id=%d, firstName='%s', lastName='%s']",
id, firstName, lastName);
}
}
3 创建操作数据的Repository对象
package com.example.demo.repositories;
import com.example.demo.dto.Customer;
import org.springframework.data.jpa.repository.JpaRepository;
public interface CustomerRepository extends JpaRepository<Customer, Long>; {
}
三、JpaRepository
JpaRepository
PagingAndSortingRepository
CrudRepository
QueryByExampleExecutor
四、自定义的方法
1.一些基本的自定义方法样例
2.举个例子
在CustomerRepository接口中,有如下定义
/**
* 根据lastName查询结果
* @param lastName
* @return
*/
List<Customer> findByLastName(String lastName);