GitHub - TamaraStankovska/Spring-Data-JPA-vs-raw-JDBC
1. 说明
该项目是使用Java作为后端技术和Spring Boot框架制作的。出于本项目的目的,即使用Spring数据JPA和原始JDBC比较性能指标,我们对表“产品”进行了三次查询实现。此外,查询是使用以下命令编写的:
- Spring Data JPA
- JdbcTemplate
- 原始 JDBC
我们测量了所有查询的执行时间,这是用于评估的关键指标。
1.1. 产品
产品表由以下属性组成:
- id;
- retailer_country,
- rder_method_type,
- retailer_type,
- product_line,
- product_type,
- product_name,
- product_year,
- quarter_year,
表“产品”有50 000条记录,用于评估。
2. Spring Data JPA
在我们的项目中,Java 持久性 API 提供的查询和方法是通过以下步骤完成的:
- 创建一个存储库接口并扩展Spring数据提供的存储库接口之一。
- 将自定义查询方法添加到创建的存储库接口(如果需要,请按原样)。
- 将存储库接口注入另一个组件,并使用Spring自动提供的实现。
3. JdbcTemplate
Spring 框架为 JDBC 数据库访问提供了一种 JDBC 模板方法。我们可以在 JDBC 模板类的帮助下执行所有数据库操作,例如插入、更新、删除和检索数据库中的数据。
4. 原始 JDBC
用于使用 JDBC 处理任何 SQL 语句的方法是:
- 1)建立联系;
- 2)创建语句;
- 3)执行查询;
- 4)处理结果集对象;
- 5)关闭连接。
使用原始JDBC是用于插入数据的书面查询,列出所有产品,按ID或名称查找产品,按ID或名称删除产品以及更新产品。
4. 衡量指标与结论
根据此指标表,我们可以看到 JDBC 模板在最短的时间内执行所有查询。然后跟随原始 JDBC 和休眠,执行时间最长。