◻️ Spring DAO vs Spring ORM vs Spring JDBC vs Spring Data JPA vs Hibernate

这几个都有对应的maven包

Spring DAO vs Spring ORM vs Spring JDBC

https://stackoverflow.com/questions/24990400/spring-dao-vs-spring-orm-vs-spring-jdbc

Spring Data JPA vs Hibernate

https://dzone.com/articles/what-is-the-difference-between-hibernate-and-sprin-1#

https://stackoverflow.com/questions/23862994/what-is-the-difference-between-hibernate-and-spring-data-jpa

数据库驱动

针对特定数据库的,比如连接mysql。

  <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
  <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.20</version>
  </dependency>

数据源

javax.sql.DataSource的实现类,里面配置数据库的账号密码连接池驱动类,用来获取数据库连接。

c3p0,hikaricp,dbcp。。。

spring-jdbc

提供了JdbcTemplate这个类,可以直接执行sql语句。

spring-jdbc + 数据源 + 数据库驱动

文章:spring-jdbc xml方式连接数据库

代码:feat: JdbcTemplate连接数据库

Hibernate + spring-orm + 数据源 + 数据库驱动

feat: Hibernate查询数据库

Hibernate是JPA的实现,Spring Data JPA是JPA上面的一层,

Spring Data JPA is a JPA data access abstraction. Spring Data JPA cannot work without a JPA provider(Hibernate是其中一个provider).

Last updated

Was this helpful?