1.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>
2.application.yum配置
配置数据库
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=UTF-8&useSSL=false
username: root
password: 1011
jpa:
show-sql: true
3.创建与数据库对应类
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
@Table(name = "user")
public class User {
//设置主键,还有主键自增方式
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Integer id;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public UserInfo(){
}
}
4.比较重要的是创建一个Repository类继承jpa提供的很多接口
Repository:最顶层的接口,是一个空的接口,目的是为了统一所有Repository的类型,且能让组件扫描的时候自动识别。
CrudRepository :是Repository的子接口,提供CRUD的功能
PagingAndSortingRepository:是CrudRepository的子接口,添加分页和排序的功能
JpaRepository:是PagingAndSortingRepository的子接口,增加了一些实用的功能,比如:批量操作等。
JpaSpecificationExecutor:用来做负责查询的接口
Specification:是Spring Data JPA提供的一个查询规范,要做复杂的查询,只需围绕这个规范来设置查询条件即可
要加上@Repository这个注解,方便sping找到
@Query可以执行sql自定义语句
@Query("SELECT p FROM Person p WHERE p.lastName = :lastName AND p.email = :email")
List<Person> testQueryAnnotationParams2(@Param("email") String email, @Param("lastName") String lastName);
参照 https://www.cnblogs.com/zhaobingqing/p/6864223.html
5.在Controller直接@Autowired注入这个Repository,直接使用它的方法即可。
本博客参照进行总结
https://mp.weixin.qq.com/s?__biz=MzU2MTI4MjI0MQ==&mid=2247483924&idx=1&sn=02baae22ef35604350f2d36f1d310160&chksm=fc7a6fbacb0de6acedf991de5d19cfee45fb419b2a0acab88a86d34c2e76e0264447ef430e23&mpshare=1&scene=24&srcid=0713Xbvtg5tj7cukhaGF9q7O#rd