Spring Data和JDBC / ORM模块之间的差异

时间:2013-10-23 08:21:12

标签: java spring jpa jdbc spring-data

我正在使用Spring开始一个新的Java Web项目,显然我需要在我的应用程序中访问数据。

在以前的应用程序中,我使用Spring框架的JDBC或ORM模块来实现我的数据访问层,但有些时候我读过Spring Data项目。我很好奇它,我想知道这两个项目之间的差异,并了解是否有优势从一种方法传递到另一种方法。

2 个答案:

答案 0 :(得分:2)

Spring数据提供了几个功能:

  • 与数据库应用程序相关的常用功能 - 定义具有各种功能,审计跟踪等的“存储库”元素(类似于DAO)。
  • JdbcTemplate,支持各种NoSQL数据库 - MongoDB,Redis,Neo4J,还有其他数据库的社区项目
  • JDBC的高级功能(主要是Oracle)和JPA以减少样板代码

Spring数据还旨在保存样板代码,因为存储库被定义为接口,并且spring基于方法名称给出了实现。

答案 1 :(得分:0)

Spring Data使用JPA。它也非常适合减少需要编写的样板代码量。

通过编写接口

E.g。 table.findAll()

它使用方面来创建到select * from table

的样板代码

table.findByName

它将实现按名称选择的代码

看看这个优秀的教程http://www.petrikainulainen.net/spring-data-jpa-tutorial/