一、引入依赖
<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>二、配置application.yml文件
自动建表的配置是ddl-auto,有多个属性可选
1. none 以数据表字段为准,不做任何修改
2. validate 加载Hibernate时,会对创建数据库表的结构进行验证并比较,不会创新表,但是会插入新的结构和值
3. create 每次加载Hibernate,重新创建数据库表结构,(会导致数据库表数据丢失)
4. create-drop 加载Hibernate时创建,退出是删除表结构
5. update 加载Hibernate自动更新数据库结构(最常用的一个)

三,对应数据库表的实体类
@Entity 代表JPA(Hibernate)的实体类注解
@Table 可以添加表名称和索引等设置
@Id代表这是主键,@GeneratedValue和@GenericGenerator设置主键策略是UUID

四、项目启动类添加扫描表结构注解
在Springboot开发中使用JPA时,通常在 程序启动类 所在包或者其子包的某个位置定义我们的Entity 和 Repository,这样基于Springboot的自动配置,无需额外配置,我们定义的Entity和Repository即可被发现和使用。但有时候我们需要定义Entity和Repository不在应用程序所在包及其子包,那么这时候就需要使用@EntityScan和 @EnableJpaRepositories了
@EnableJpaRepositories :
value:basePackages的别名,简化basePackages。
basePackages:用于配置扫描Repositories所在的包。填写字符串或字符串数组形式的包名。
@EntityScan:
用来扫描和发现指定包及其子包中的Entity注解定义的类。其用法如下:
@EntityScan(basePackages = {"com.department.entities","come.employee.entities"})

文章介绍了如何在SpringBoot项目中集成JPA和MySQL,包括引入必要的依赖,配置application.yml文件以控制自动建表策略,如update用于自动更新数据库结构。此外,还讲解了实体类的标注,如@Entity和@Table,以及主键策略的设置。当实体类和Repository不在默认扫描路径时,需要使用@EntityScan和@EnableJpaRepositories进行额外配置。

1293

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



