`
高级java工程师
  • 浏览: 395164 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【第七章】 对JDBC的支持 之 7.1 概述 ——跟我学spring3

 
阅读更多

 

 

7.1  概述

7.1.1  JDBC回顾

       传统应用程序开发中,进行JDBC编程是相当痛苦的,如下所示:

 

java代码:
Java代码  收藏代码
  1. //cn.javass.spring.chapter7. TraditionalJdbcTest  
  2. @Test  
  3. public void test() throws Exception {  
  4.     Connection conn = null;  
  5.     PreparedStatement pstmt = null;  
  6.     try {  
  7.       conn = getConnection();              //1.获取JDBC连接  
  8.                                        //2.声明SQL  
  9.       String sql = "select * from INFORMATION_SCHEMA.SYSTEM_TABLES";  
  10.       pstmt = conn.prepareStatement(sql);    //3.预编译SQL  
  11.       ResultSet rs = pstmt.executeQuery();   //4.执行SQL  
  12.       process(rs);                       //5.处理结果集  
  13.       closeResultSet(rs);                 //5.释放结果集  
  14.       closeStatement(pstmt);              //6.释放Statement  
  15.       conn.commit();                    //8.提交事务  
  16.     } catch (Exception e) {  
  17.       //9.处理异常并回滚事务  
  18.       conn.rollback();  
  19.       throw e;  
  20.     } finally {  
  21.       //10.释放JDBC连接,防止JDBC连接不关闭造成的内存泄漏  
  22.       closeConnection(conn);  
  23.     }  
  24. }  

 

       以上代码片段具有冗长、重复、容易忘记某一步骤从而导致出错、显示控制事务、显示处理受检查异常等等。

       有朋友可能重构出自己的一套JDBC模板,从而能简化日常开发,但自己开发的JDBC模板不够通用,而且对于每一套JDBC模板实现都差不多,从而导致开发人员必须掌握每一套模板。

       Spring JDBC提供了一套JDBC抽象框架,用于简化JDBC开发,而且如果各个公司都使用该抽象框架,开发人员首先减少了学习成本,直接上手开发,如图7-1所示。

 

图7-1 Spring JDBC与传统JDBC编程对比

7.1.2  Spring对JDBC的支持

       Spring通过抽象JDBC访问并提供一致的API来简化JDBC编程的工作量。我们只需要声明SQL、调用合适的Spring JDBC框架API、处理结果集即可。事务由Spring管理,并将JDBC受查异常转换为Spring一致的非受查异常,从而简化开发。

       Spring主要提供JDBC模板方式、关系数据库对象化方式和SimpleJdbc方式三种方式来简化JDBC编程,这三种方式就是Spring JDBC的工作模式:

  •  JDBC模板方式:Spring JDBC框架提供以下几种模板类来简化JDBC编程,实现GoF模板设计模式,将可变部分和非可变部分分离,可变部分采用回调接口方式由用户来实现:如JdbcTemplate、NamedParameterJdbcTemplate、SimpleJdbcTemplate。
  • 关系数据库操作对象化方式:Spring JDBC框架提供了将关系数据库操作对象化的表示形式,从而使用户可以采用面向对象编程来完成对数据库的访问;如MappingSqlQuery、SqlUpdate、SqlCall、SqlFunction、StoredProcedure等类。这些类的实现一旦建立即可重用并且是线程安全的。
  • SimpleJdbc方式:Spring JDBC框架还提供了SimpleJdbc方式来简化JDBC编程,SimpleJdbcInsert 、 SimpleJdbcCall用来简化数据库表插入、存储过程或函数访问。

Spring JDBC还提供了一些强大的工具类,如DataSourceUtils来在必要的时候手工获取数据库连接等。

7.1.4    Spring的JDBC架构

Spring JDBC抽象框架由四部分组成:datasource、support、core、object。如图7-2所示。

 

图7-2 Spring JDBC架构图

       support包:提供将JDBC异常转换为DAO非检查异常转换类、一些工具类如JdbcUtils等。

       datasource包:提供简化访问JDBC 数据源(javax.sql.DataSource实现)工具类,并提供了一些DataSource简单实现类从而能使从这些DataSource获取的连接能自动得到Spring管理事务支持。

       core包:提供JDBC模板类实现及可变部分的回调接口,还提供SimpleJdbcInsert等简单辅助类。

       object包:提供关系数据库的对象表示形式,如MappingSqlQuery、SqlUpdate、SqlCall、SqlFunction、StoredProcedure等类,该包是基于core包JDBC模板类实现。

 

 

 

分享到:
评论

相关推荐

    跟我学spring3(1-7)

    【第七章】 对JDBC的支持 之 7.1 概述 ——跟我学spring3 【第七章】 对JDBC的支持 之 7.2 JDBC模板类 ——跟我学spring3 【第七章】 对JDBC的支持 之 7.3 关系数据库操作对象化 ——跟我学spring3 【第七...

    跟开涛学Spring

    1.29 【第七章】 对JDBC的支持 之 7.1 概述 ——跟我学spring3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .286 1.30 【第七章】 对JDBC的支持 之 7.2 JDBC模板类 ——跟我学spring3 . . . . . . . ...

    dm7jdbcdriver-7.1.3.130.jar

    达梦数据库驱动包,dbvisual使用 国产数据库驱动包 dm7jdbcdriver-7.1.3.130.jar

    跟我学Spring3(7.5)对JDBC的支持之集成Spr

    跟我学Spring3(7.5)对JDBC的支持之集成SpringJDBC及最佳实践Java开发Java经验技巧共5页.pdf.zip

    spring对jdbc的支持jar包

    spring对jdbc的支持的测试jar包下载 spring采用的是4.0版本

    跟我学spring3 .pdf

    详细讲解了 IOC DI AOP JDBC MVC 等等spring知识,有很高的学习价值

    开发工具 spring-jdbc-4.3.6.RELEASE

    开发工具 spring-jdbc-4.3.6.RELEASE开发工具 spring-jdbc-4.3.6.RELEASE开发工具 spring-jdbc-4.3.6.RELEASE开发工具 spring-jdbc-4.3.6.RELEASE开发工具 spring-jdbc-4.3.6.RELEASE开发工具 spring-jdbc-4.3.6....

    开源框架spring详解-----spring对JDBC的支持

    开源框架spring详解-----spring对JDBC的支持开源框架spring详解-----spring对JDBC的支持开源框架spring详解-----spring对JDBC的支持

    Spring对JDBC的支持

    使用Spring提供的JdbcTemplate模板类实现对数据库的更新和查询操作、使用JdbcTemplate实现具体的DAO类、使用支持具名参数的JDBC模板类对数据库进行操作

    spring-jdbc-5.3.15-API文档-中文版.zip

    赠送jar包:spring-jdbc-5.3.15.jar; 赠送原API文档:spring-jdbc-5.3.15-javadoc.jar; 赠送源代码:spring-jdbc-5.3.15-sources.jar; 赠送Maven依赖信息文件:spring-jdbc-5.3.15.pom; 包含翻译后的API文档:...

    java——jdbc学习总结

    jdbc总结jdbc总结 jdbc总结 jdbc总结 jdbc总结

    spring-jdbc-4.3.8.jar

    spring-jdbc-4.3.8.RELEASE.jar,Spring支持数据库所需jar包

    Spring Data JDBC与JDBC的区别

    JDBC规范   java.sql和javax.sql两个包中的类与接口(天龙八部):  DataSource:数据源  DriverManager:驱动管理  Driver:JDBC驱动  Connection:数据库连接  Statement:语句,执行SQL  PrepareStatement:...

    跟我学spring3(8-13).pdf

    spring3基础知识 IoC DI Spring表达式 SpEL Spring JDBC支持 Spring ORM集成 Spring与其他web框架集成 Spring注解零配置 Spring单元测试与集成测试

    spring-jdbc-4.3.9.RELEASE

    spring-jdbc连接jar包,spring对于jdbc技术的封装,spring容器组成部分

    spring-jdbc jar包.rar

    这个jar 文件包含对Spring 对JDBC 数据访问进行封装的所有类

    Spring mvc + Spring + Spring jdbc 整合 demo

    Spring mvc + Spring + Spring jdbc 整合 demo

    jdbc——内嵌事务

    jdbc——内嵌事务 class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"></property> ...

    JDBC概述讲解.........

    JDBC概述讲解 JDBC概述讲解 JDBC概述讲解 JDBC概述讲解 JDBC概述讲解

    spring整合jdbc的配置

    spring整合jdbc的配置 spring jdbc 配置

Global site tag (gtag.js) - Google Analytics