多语言展示
当前在线:901今日阅读:60今日分享:41

Spring学习--如何通过JPA实现数据库CRUD操作

JPA 即 Java Persistence API,Java持久化接口,是Java的一套标准规范,Hibernate是其一种实现,Spring Data JPA 就是通过 Hibernate 实现的数据库操作(做了一层封装),本篇经验就分享一下如何通过 Spring Data JPA 实现数据库基本的CRUD(增删改查)操作。
工具/原料

Eclipse, SpringBoot

方法/步骤
1

通过Spring Initializr 创建一个基于 SpringBoot 的应用程序必须选择的依赖有 Lombok (简化代码开发),Spring Data JPA (JPA 核心依赖),H2 Database (一款内存数据库),将工程导出后,导入到 Eclipse 中。

2

修改数据库相关的配置,并创建实体类图1示:配置表的生成策略为自动创建和删除,并且在控制台打印出格式化后的SQL语句。图2示:创建实体类,并与一张数据库表进行关联

3

创建实体类对应的 Repository 接口 实体类的 Repository 接口即用于操作数据库的接口,其继承关系如下:1. 首先继承Spring Data JPA 提供的 PagingAndSortingRepository 接口,顾名思义,该接口提供了分页排序的支持 2. PagingAndSortingRepository 接口又继承了 CrudRepository ,从而提供基础的增删改查功能3. CrudRepository 最终继承了 Repository 接口,即标识这个类用于操作数据库Spring Data JPA 会自动为我们创建的实体类 Repository 接口创建实现类对象,并添加到Spring的 bean 容器中管理,我们可以直接使用。

4

测试基本的增加数据的功能1. 只需在启动类上使用注解 @EnableJpaRepositories,就可以使用刚刚定义的实体类接口了(Spring Data JPA 会自动为其创建实现类)!2. 启动类实现 CommandLineRunner 接口,并实现其 run 方法(该方法在Spring框架启动完成后,自动执行),在 run 方法中,调用实体类的Repository接口对象完成增加数据的功能。3. 运行启动类,从控制台输出的 SQL 中,可以看到执行了两条 insert 操作!

5

测试基本的查询数据的功能通过实体类Repository接口的 findAll(Sort) 可以实现全量查询并排序,该方法也是 Spring Data JPA 为我们默认提供的。默认提供的除了全量查询外,还有一个 findById 方法,即根据主键查询特定记录,具体使用方法可自行探索。

6

默认提供的其他方法我们的实体类Repository接口通过继承Spring Data JPA 框架提供的 PagingAndSortingRepository 接口,还同时拥有了 delete (删除)和 count (统计记录数量)等方法,并通过 save 方法保存已存在记录实现更新操作。

推荐信息