添加数据库和jpa依赖
![img_e16bcdbdfe39db888b4c0eebb5a525c6.png](https://yqfile.alicdn.com/img_e16bcdbdfe39db888b4c0eebb5a525c6.png?x-oss-process=image/resize,w_1400/format,webp)
定义实体对象
我们将定义一个实体对象UserApply并将其存储到关系型数据库中,并使用JPA注解:
![img_80b49b19f834e712d304ac52b66341e1.png](https://yqfile.alicdn.com/img_80b49b19f834e712d304ac52b66341e1.png?x-oss-process=image/resize,w_1400/format,webp)
id作为唯一标识符,这里用到了JPA注解
@GeneratedValue(strategy=GenerationType.IDENTITY)
表明它是一个自增字段
firstName和lastName没有任何注解,但User注解为@Entity所以它们也被映射为同名的字段
创建对象访问方法
Spring Data JPA项目使用JPA注解将Java对象转化为关系型数据库中的记录。它最大的特点是能够自动创建数据访问对象的实现,例如现在我们创建一个访问对象的接口:
![img_f80a41573870fa98aba612af5456a974.png](https://yqfile.alicdn.com/img_f80a41573870fa98aba612af5456a974.png?x-oss-process=image/resize,w_1400/format,webp)
UserRepository继承了Spring Data JPA中的JpaRepository
![img_40545afc9cf447500012e06f9820ddae.png](https://yqfile.alicdn.com/img_40545afc9cf447500012e06f9820ddae.png?x-oss-process=image/resize,w_1400/format,webp)
已经包含了保存(save()),删除(delete()),查询(findOne(), findAll())等预定义方法,同时开发者还能够根据命名约定来扩展,findByLastName(String lastName)实际上等价于SQL语句select * from user where lastName=?。
在接口中定义这个方法后,无需实现它,Spring Data JPA会根据方法的名字自动实现这个方法,很方便吧!
总结
我们使用Spring Data JPA对关系型数据库进行访问,在实现过程中借助Spring Boot框架很轻易的配置了Spring Data JPA。这让我们更加专注于业务并且能够编写出质量更高、可维护性更好的代码。