08
2020
11

解释SpringJDBC、SpringDAO和SpringORM?

Spring-DAO并非Spring的一个模块,它实际上是指示你写DAO操作、写好DAO操作的一些规范。因此,对于访问你的数据它既没有提供接口也没有提供实现更没有提供模板。在写一个DAO的时候,你应该使用@Repository对其进行注解,这样底层技术(JDBC,Hibernate,JPA,等等)的相关异常才能一致性地翻译为相应的DataAccessException子类。

 

Spring-JDBC提供了Jdbc模板类,它移除了连接代码以帮你专注于SQL查询和相关参数。Spring-JDBC还提供了一个JdbcDaoSupport,这样你可以对你的DAO进行扩展开发。它主要定义了两个属性:一个DataSource和一个JdbcTemplate,它们都可以用来实现DAO方法。JdbcDaoSupport还提供了一个将SQL异常转换为SpringDataAccessExceptions的异常翻译器。

 

Spring-ORM是一个囊括了很多持久层技术(JPA,JDO,Hibernate,iBatis)的总括模块。对于这些技术中的每一个,Spring都提供了集成类,这样每一种技术都能够在遵循Spring的配置原则下进行使用,并平稳地和Spring事务管理进行集成。

 

对于每一种技术,配置主要在于将一个DataSourcebean注入到某种SessionFactory或者EntityManagerFactory等bean中。纯JDBC不需要这样的一个集成类(JdbcTemplate除外),因为JDBC仅依赖于一个DataSource。

 

如果你计划使用一种ORM技术,比如JPA或者Hibernate,那么你就不需要Spring-JDBC模块了,你需要的是这个Spring-ORM模块。

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。