Spring Boot 与 JPA 的核心整合
Spring Boot 通过 spring-boot-starter-data-jpa 简化了与数据库的交互,底层默认集成 Hibernate 作为 JPA 实现。这一组合提供了对象关系映射(ORM)能力,允许开发者通过 Java 对象操作数据库,无需编写繁琐的 SQL。
依赖配置
在 pom.xml 中添加以下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
H2 数据库作为内存数据库,适合快速演示。实际项目中可替换为 MySQL 或 PostgreSQL。
实体类定义
JPA 通过注解将 Java 类映射到数据库表。以下是一个用户实体类的示例:
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false, unique = true)
private String username;
@Column(name = "email", length = 100)
private String email;
// Lombok 注解省略构造器/getter/setter
}
@Entity标记该类为 JPA 实体。@Table指定表名(可选)。@Id和@GeneratedValue定义主键及其生成策略。
仓库接口
Spring Data JPA 通过接口自动生成 CRUD 操作。扩展 JpaRepository 即可获得基础方法:
public interface UserRepository extends JpaRepository<User, Long> {
// 自定义查询方法
List<User> findByUsername(String username);
@Query("SELECT u FROM User u WHERE u.email LIKE %?1%")
List<User> searchByEmail(String emailPattern);
}
- 方法命名遵循规则(如 `findByX
Spring Boot 与 JPA 的核心整合
Spring Boot 通过 spring-boot-starter-data-jpa 简化了与数据库的交互,底层默认集成 Hibernate 作为 JPA 实现。这一组合提供了对象关系映射(ORM)能力,允许开发者通过 Java 对象操作数据库,无需编写繁琐的 SQL。
依赖配置
在 pom.xml 中添加以下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
H2 数据库作为内存数据库,适合快速演示。实际项目中可替换为 MySQL 或 PostgreSQL。
实体类定义
JPA 通过注解将 Java 类映射到数据库表。以下是一个用户实体类的示例:
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false, unique = true)
private String username;
@Column(name = "email", length = 100)
private String email;
// Lombok 注解省略构造器/getter/setter
}
@Entity标记该类为 JPA 实体。@Table指定表名(可选)。@Id和@GeneratedValue定义主键及其生成策略。
仓库接口
Spring Data JPA 通过接口自动生成 CRUD 操作。扩展 JpaRepository 即可获得基础方法:
public interface UserRepository extends JpaRepository<User, Long> {
// 自定义查询方法
List<User> findByUsername(String username);
@Query("SELECT u FROM User u WHERE u.email LIKE %?1%")
List<User> searchByEmail(String emailPattern);
}
- 方法命名遵循规则(如 `findByX
873

被折叠的 条评论
为什么被折叠?



