Spring学习--Spring Data JPA 如何创建实体类

 时间:2024-10-12 12:58:39

1、首先通过 Spring Initializr 创建一个基于 SpringBoot 的应用框架,必须的依赖包括:lombok(简化代码开发),Spring Data JPA(JPA相关的依赖)和 MySQL Driver(测试使用 MySQL 数据库)。

Spring学习--Spring Data JPA 如何创建实体类
Spring学习--Spring Data JPA 如何创建实体类

2、在 application.properties 中配置数据库连接信息,并额外添加如下配置:1. 应用启动时,数据库中如果没有相应表结构,则自动创建,如果存在,则不做任何操作2. 在控制台输出格式化后的SQL语句3. 因为使用的是MySQL数据库,需要指明相应的“方言”,这样在自动创建表结构时,会使用更好的 innodb 引擎,而不是 MyISAM 引擎对应的具体配置条目,请参考图示。

Spring学习--Spring Data JPA 如何创建实体类

3、定义实体类,并添加如下注解:1. @Entity : 核心注解,定义该类为一个实体类,实体类会与一张表进行对应2. @Table : 通过该注解,指明实体对应的表名称,如果使用该注解,默认表名称为实体类名称3. @Builder @Data @NoArgsConstructor @AllArgsConstructor : Lombok 相关注解,会自动为该类创建一个工厂方法,所有成员变量的get/set方法,以及无参和有参构造函数。关于 Lombok 的更详细的用法,请参考如下经验引用(1)。实体类中,因为涉及到了金额,这里使用了 joda-money 开源类库的 Money 对象,关于 joda-money 的具体用法,请参考如下经验引用(2)。

Spring学习--Spring Data JPA 如何创建实体类

4、定义实体类的主键列和其主键生成规则通过注解 @Id 来指明主键列,因为我们使用的是 mysql 数据库,其支持自增主键,所以 通过注解 @GeneratedValue(strategy=GenerationType.IDENTITY) 指明其主键使用自增序列。

Spring学习--Spring Data JPA 如何创建实体类

5、定义实体类其他成员变量和数据库表的对应关系默认数据库表的列名和实体的属性名称一致,如果不一致,可以通过 @潮贾篡绐Column (name="列名") 进行指定。对于实体类的创建时间和更新时间,我们分别使用注解 @CreationTimestamp 和 @UpdateTimestamp 进行标注,前者会在记录第一次添加到数据库时自动为对应属性填充当前时间,后者会在记录更新时,自动为对应属性填充当前时间。对于 joda-money 开源类库的 Money 类型属性,我们也需要做特殊指定,我们获取 Money 类对应的货币整数值进行存库(具体配置参考图示)。

Spring学习--Spring Data JPA 如何创建实体类

6、执行SpringBoot启动类,观察控制台输出因为数据库中没有对应的表,所以控制台输出了建表语句,从建表语句中可以看出,主键ID采用自增序列的生成策略,并且Money 类型的成员变量 price 对应的列也采用了整型进行存储。

Spring学习--Spring Data JPA 如何创建实体类
  • 苹果手表怎么自定设置日历
  • iwatch电量怎么显示
  • Apple Watch名称怎么设置
  • iwatch7如何解锁手机
  • 苹果手表如何测血压
  • 热门搜索
    勤俭节约手抄报图片 元旦手抄报资料 古诗手抄报图片大全 我爱运动手抄报 诚信手抄报花边 防震减灾的手抄报 小学安全知识手抄报 读书手抄报图片大全 感恩父母手抄报资料 寻访红色足迹手抄报