Spring Boot集成Spring Data JPA可零SQL实现CRUD,核心三步:加依赖(spring-boot-starter-data-jpa、数据库驱动、lombok)、配数据源与JPA参数(如ddl-auto、show-sql)、写@Entity实体类和JpaRepository接口。

Spring Boot 集成 Spring Data JPA 后,不用写 SQL、不用写 DAO 实现类,靠接口定义 + 约定命名就能完成增删改查。核心就三步:加依赖、配数据源、写实体和仓库接口。
关键依赖要加全
在 pom.xml 中引入以下三项(缺一不可):
- spring-boot-starter-data-jpa:提供 JPA 自动配置和 JpaRepository 支持
- mysql-connector-java(或你用的数据库驱动,如 PostgreSQL、H2):运行时连接数据库
-
lombok(可选但强烈推荐):省去 getter/setter/toString 等模板代码,配合
@Data使用
application.properties 配置要到位
至少填齐数据库连接和 JPA 基础行为:
Redis 缓存和数据结构管理技能。通过自然语言操作 Redis,支持 String、Hash、List、Set、ZSet、Stream 等数据结构操作。当用户提到 Redis、缓存、消息队列、会话存储时使用此技能。
-
spring.datasource.url:含地址、库名、时区(如serverTimezone=Asia/Shanghai)、SSL 和字符集参数 -
spring.datasource.username和spring.datasource.password -
spring.jpa.hibernate.ddl-auto:开发阶段常用update(自动建表/加字段),生产环境建议设为none -
spring.jpa.show-sql=true:方便调试,控制台打印执行的 SQL
实体类和仓库接口按规范写
实体类用 JPA 注解标记,仓库接口继承 JpaRepository:
立即学习“Java免费学习笔记(深入)”;
- 实体类加
@Entity和@Table(name = "xxx");主键字段用@Id+@GeneratedValue(strategy = GenerationType.IDENTITY)(MySQL 自增) - 字段映射用
@Column(name = "col_name"),可加nullable = false等约束 - 仓库接口只需空声明:
public interface UserRepo extends JpaRepository<User, Long> { },自带save()、findById()、findAll()等方法 - 自定义查询?直接按命名写方法,比如
findByUsernameAndStatus(String username, int status),JPA 自动解析生成 SQL
不需要额外扫描或启动配置
默认情况下,Spring Boot 会自动扫描主类所在包及其子包下的 @Entity 和 @Repository 类。除非实体或仓库分散在其他模块(如 common jar),才需显式加 @EntityScan 或 @EnableJpaRepositories。

















