Spring Data JDBC,Java为关系数据库定义了一套标准的访问接口:JDBC(Java Database Connectivity) ,JDBC接口是Java标准库自带的,可以直接编译,具体的JDBC驱动是由数据库厂商提供的,例如,MySQL的JDBC驱动由Oracle提供。因此,访问某个具体的数据库,我们只需要引入该厂商提供的JDBC驱动,就可以通过JDBC接口来访问,这样保证了Java程序编写的是一套数据库访问代码,却可以访问各种不同的数据库,因为他们都提供了标准的JDBC驱动.实际上,一个MySQL的JDBC的驱动就是一个jar包,它本身也是纯Java编写的。我们自己编写的代码只需要引用Java标准库提供的java.sql包下面的相关接口,由此再间接地通过MySQL驱动的jar包通过网络访问MySQL服务器,所有复杂的网络通讯都被封装到JDBC驱动中,因此,Java程序本身只需要引入一个MySQL驱动的jar包就可以正常访问MySQL服务器
Spring Data JPA, makes it easy to easily implement JPA-based (Java Persistence API) repositories. JPA就是JavaEE的一个 ORM 标准,它的实现其实和 Hibernate 没啥本质区别,但是用户如果使用JPA,那么引用的就是jakarta.persistence这个“标准”包,而不是org.hibernate 这样的第三方包。因为JPA只是接口,所以,还需要选择一个实现产品,跟JDBC接口和MySQL驱动一个道理。 我们使用JPA时也完全可以选择 Hibernate 作为底层实现,但也可以选择其它的JPA提供方,比如 EclipseLink。Spring内置了JPA的集成,并支持选择 Hibernate 或 EclipseLink 作为实现