Spring Data JPA详解

本文详细介绍了Spring Data JPA,它是Spring提供的持久层解决方案,专注于简化持久层操作。文章涵盖Spring Boot整合JPA的步骤,包括依赖引入、配置、实体类创建和DAO接口定义,并探讨了Spring Data JPA的核心接口,如Repository、CrudRepository、PagingAndSortingRepository、JpaRepository以及JpaSpecificationExecutor,特别强调了它们在复杂动态查询中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一节 SpringData介绍

1. Spring Data

Spring Data是持久层通用解决方案,支持关系型数据库 Oracle、MySQL、非关系型数据库NoSQL、Map-Reduce 框架、云基础数据服务 、搜索服务等。

2. Spring Data JPA

Spring Data JPA 框架,主要针对的就是 Spring 唯一没有简化到的持久层操作代码,至此,开发者连仅剩的实现持久层工作都省了,唯一要做的,就只是声明持久层的接口,其他都交给 Spring Data JPA 来帮你完成!

第二节 SpringBoot 整合 JPA

1. 引入依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>

2. yml 配置

spring:
  datasource:
    type: com.zaxxer.hikari.HikariDataSource
    url: jdbc:mysql://localhost:3306/jpa?serverTimezone=Asia/Shanghai
    username: root
    password: root
  jpa:
    hibernate:
      ddl-auto: update #自动创建表
    show-sql: true #显示SQL语句

3. 创建实体类

package com.qf.jpa.entity;
​
import lombok.Data;
​
import javax.persistence.*;
import java.io.Serializable;
​
@Entity //标识实体
//为注解标识的实体指定对应的数据表
@Table(name = "student")
@Data
public class Student implements Serializable {
​
    @Id //ID列标识
    @GeneratedValue(strategy = GenerationType.IDENTITY)//主键生成策略
    @Column(name = "id", length = 20, nullable = false)//列定义
    private Long id;
​
    @Column(name = "name", length = 50, nullable = false)
    private String name;
​
    @Column(name = "sex", length = 1, nullable = false)
    private int sex;
​
    &
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值