Java Spring DAO 和 Spring ORM 和 Spring JDBC的区别

Java Spring DAO 和 Spring ORM 和 Spring JDBC的区别

给定的三个术语Spring DAO、Spring ORM和Spring JDBC与Spring框架中的数据访问相关。这个框架是由Rod Johnson于2003年6月开发的,因为其全面的工具和功能,用于构建企业应用程序,因此在Java开发人员中非常有名。尽管这些术语有着相同的目的,但它们之间存在一些区别。在本文中,我们将讨论Spring DAO、Spring ORM和Spring JDBC之间的区别。

Spring DAO vs Spring ORM vs Spring JDBC

在这一部分中,我们将介绍Spring DAO、Spring ORM和Spring JDBC,并在后面创建一个表来描述这三种技术之间的区别。

Spring JDBC

它是一个模块,提供了在Spring中使用JDBC API的功能。JDBC的全称是Java数据库连接。它是一个应用程序编程接口(API),允许Java应用程序使用SQL语句与关系数据库进行交互。我们可以将Spring JDBC与其他Spring模块集成,如事务管理、数据访问对象(DAO)和对象关系映射(ORM)。

Spring JDBC提供了基于模板的方法,减少了使用JDBC API所需的样板代码量,比如打开和关闭连接、语句和结果集,处理异常等。样板代码是指一堆具有固定模式的代码块。有几种方法可以形成JDBC数据库访问,包括JdbcTemplate、SimpleJdbcInsert、SimpleJdbcCall和RDBMS对象方法。

Spring DAO

它是一个约定,代表Spring数据访问对象,并指导我们如何编写DAO。与Spring JDBC一样,它不提供任何用于数据访问的模板或接口。它允许轻松地使用JDBC、Hibernate和JDO等数据访问技术。我们必须使用@Repository对DAO进行注解,以将与JDBC、Hibernate和JDO相关的异常转换为DataAccessException子类。

为了使用这些底层技术,Spring提供了以下抽象DAO类,我们可以在程序中继承使用:

  • JdbcDaoSupport
  • HibernateDaoSupport
  • JdoDaoSupport
  • JpaDaoSupport

Spring ORM

我们还可以将Spring框架与Hibernate、TopLink、Java Persistence API (JPA)、Java Data Objects (JDO)和iBATIS SQL Maps等各种ORM工具集成,以实现资源管理和DAO实现。在这里,ORM代表对象关系映射。

以下是Spring ORM提供的功能列表:

  • Spring IoC是实现对象依赖解耦的机制。它可以应用于Hibernate和JDBC的实例,以交换它们的实现和配置位置,从而有助于更容易地测试应用程序。

  • Spring可以将其他ORM工具的异常转换为常见的运行时异常,即DataAccessException。

  • 它提供了高效、简单和安全的资源处理。

  • 它还提供了集成的事务管理系统。

Spring DAO、Spring ORM和Spring JDBC之间的区别

下表总结了上述讨论中Spring DAO、Spring ORM和Spring JDBC之间的区别。

Spring DAO Spring ORM Spring JDBC
允许我们使用数据访问技术。 允许在Spring中集成ORM工具。 建立在JDBC之上。
它的实现和维护有点复杂。 它的实现和维护也复杂。 它的实现和维护相比其他技术更简单。
Spring DAO不提供任何数据访问模板。 通过ORM工具提供数据访问模板。 也提供基于模板的方法。

结论

在这篇文章中,我们学习了Spring DAO、Spring ORM和Spring JDBC之间的区别。这些是在Spring框架中访问数据的方式。不仅Spring DAO和Spring ORM可以与多种技术集成,如Hibernate、Java Persistence API(JPA)和Java Data Objects(JDO),而且Spring JDBC只能与普通的JDBC一起使用。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程