spring boot 集成 spring data jpa 的核心目标是免写 dao 实现类、sql 和 entitymanager 管理,通过约定和自动配置完成数据操作;需添加 spring-boot-starter-data-jpa、数据库驱动和 lombok 依赖,配置数据源与 jpa 行为,定义带 @entity 的实体类,并继承 jparepository 声明接口。

Spring Boot 集成 Spring Data JPA 的核心目标是:不用写 DAO 实现类、不用手写 SQL、不用管理 EntityManager,靠约定和自动配置就能完成大部分数据操作。
添加关键依赖
在 pom.xml 中引入三项基础依赖:
- spring-boot-starter-data-jpa:提供 JPA 自动配置和 Repository 支持
- mysql-connector-java(或对应数据库驱动,如 PostgreSQL、H2)
- lombok(可选但推荐):省去 getter/setter/toString 等模板代码
配置数据源与 JPA 行为
在 application.properties 中设置连接和策略:
Java Maven 项目审查工作流的通用输入处理。当 Java Maven 项目以 ZIP压缩包或 GitLab 仓库 URL 形式提供且需要...时使用。
-
spring.datasource.url:填完整 JDBC 地址,注意包含时区(如
&serverTimezone=UTC)和字符集(&characterEncoding=UTF-8) - spring.datasource.username/password:数据库账号密码
-
spring.jpa.hibernate.ddl-auto=update:开发阶段推荐,启动时自动建表或加字段;生产环境建议设为
validate或手动建库 - spring.jpa.show-sql=true:控制台打印生成的 SQL,便于调试
-
spring.jpa.database-platform:指定方言,MySQL 用
MySQL5InnoDBDialect或新版MySQL8Dialect
定义实体类
一个标准 JPA 实体需满足三点:
- 加
@Entity注解,可选@Table(name = "xxx")指定表名 - 主键字段用
@Id+@GeneratedValue(strategy = GenerationType.IDENTITY) - 字段加
@Column(可选),设置nullable=false、unique=true等约束
示例:User 类映射 users 表,含 id、username、password 字段,Lombok 的 @Data 自动生成基础方法。
声明 Repository 接口
只需定义接口,继承 JpaRepository:
- 自动获得
save()、findById()、deleteById()等 CRUD 方法 - 按命名规则写方法即可查数据,如
findByUsernameAndAge(String, Integer)→ 自动生成 WHERE 条件 - 支持
@Query写 JPQL 或原生 SQL,也支持@Param绑定参数 - 无需
@Repository注解(JpaRepository 已自带),但加上更清晰










