`

spring 1.1.3 JDBC编程式事务管理探析(一)

 
阅读更多

一、我们一般通过下面的代码来应用事务管理:

[Java] view plain copy
  1.   public   void  addEmployee(Employee employee)  throws  SQLException {  
  2.   transactionTemplate.execute(new  TransactionCallback() {  
  3.     public  Object doInTransaction(TransactionStatus ts) {  
  4.       try  {  
  5.         jdbcTemplate.update("INSERT INTO Employee (username,age) VALUES(?, ?)" new  Object[]{ "lizi" , new  Integer( 22 )});  
  6.         jdbcTemplate.update("INSERT INTO Employee (username,age) VALUES(?, ?)" new  Object[]{ "lijun" , new  Integer( 55 )});  
  7.         System.out.println("更新成功" );  
  8.   
  9.       } catch  (Exception ex) {  
  10.         System.out.println("更新失败" );  
  11.         ts.setRollbackOnly();  
  12.       }  
  13.       return   null ;  
  14.     }  
  15.   });  
  16. }  

事务的代码封装在了TransactionTemplate当中。接下来通过几个序列图来剖析事务的应用。

二、TransactionTemplate.execute

二、事务开始getTransaction

getTransaction完成的任务有:

  1. 从DataSource获取新的连接
  2. 将连接的autoCommit属性设置为false。
  3. TransactionSynchronizationManager将(dataSource,连接)名值对作为线程变量保存起来。
  4. Transaction对象也保存了连接的句柄

三、提交事务commit

提交事务:

  1. 调用了连接的commit方法
  2. 将(DataSource,连接)名值对从本地线程变量中删除
  3. 归还(关闭)连接

四、总结

spring jdbc的事务管理的做法与我们通常用的一致.帮我们完成了下列步骤中的1,2,4,5步。

  1. 先创建连接
  2. 再设置连接的自动提交属性为false
  3. 执行SQL语句
  4. 提交事务
  5. 关闭连接。
分享到:
评论

相关推荐

    spring roo 1.1.3 学习资料

    Spring Roo 1.1.3是该工具的一个稳定版本,包含了多项改进和优化,使得开发者可以更高效地构建基于Spring的应用。 Spring Roo的核心理念是通过命令行界面或集成开发环境(IDE)插件,引导开发者完成项目结构的搭建...

    abdera-spring-1.1.3.jar

    标签:abdera-spring-1.1.3.jar,abdera,spring,1.1.3,jar包下载,依赖包

    abdera-spring-1.1.3-sources.jar

    标签:abdera-spring-1.1.3-sources.jar,abdera,spring,1.1.3,sources,jar包下载,依赖包

    spring-boot-1.1.3.RELEASE.zip

    1.1.3.RELEASE 是 Spring Boot 的一个早期版本,发布于2015年,包含了该框架的核心特性和对当时其他流行技术的集成。 Spring Boot 的核心特点包括: 1. **自动配置**:Spring Boot 通过 `@EnableAutoConfiguration`...

    abdera-jdbc-1.1.3.jar

    标签:abdera-jdbc-1.1.3.jar,abdera,jdbc,1.1.3,jar包下载,依赖包

    commons-logging-1.1.3,spring-test-4.0.0.RELEASE,spring-aop-4.0.0.RELEASE

    commons-logging-1.1.3,spring-test-4.0.0.RELEASE,spring-aop-4.0.0.RELEASE,spring-aspects-4.0.0.RELEASE

    spring-boot-1.1.3.RELEASE.tar.gz

    2. **内嵌式容器**:1.1.3 版本支持内嵌的 Tomcat 或 Jetty 服务器,开发者无需额外配置即可启动一个 Web 应用。 3. **自动配置(Auto Configuration)**:SpringBoot 会根据项目中的依赖自动配置相应的 Bean,例如...

    Spring攻略PDF版

     第8章 Spring中的事务管理   第9章 Spring对ORM的支持   第10章 Spring MVC框架   第11章 整合Spring与其他Web框架   第12章 Spring对测试的支持  第三部分 高级主题  第13章 Spring ...

    windows版本nacos-1.1.3.zip

    2. **配置管理**:Nacos的核心功能之一是集中式配置管理。开发者可以将应用程序的配置统一存储在Nacos上,然后在运行时动态地推送到各个服务实例,这样能确保配置的一致性和实时更新,降低了运维复杂度。 3. **热...

    spring-boot-cli-1.1.3.RELEASE-bin.zip

    Spring Boot CLI支持一系列内建命令,例如`beans`列出所有bean,`run`运行应用程序,`console`启动一个Groovy交互式控制台,以及`help`查看所有可用命令。 6. **Groovy脚本编程** Groovy脚本可以充分利用Spring ...

    Spring攻略中文版PDF

     第8章 Spring中的事务管理   第9章 Spring对ORM的支持   第10章 Spring MVC框架   第11章 整合Spring与其他Web框架   第12章 Spring对测试的支持  第三部分 高级主题  第13章 Spring ...

    Spring相关jar包

    `spring-jdbc`简化了JDBC操作,`spring-tx`提供了声明式事务管理。`spring-orm`支持ORM框架,如Hibernate和JPA,`spring-oxm`处理对象/XML映射。 3. **Web**:包括`spring-web`和`spring-webmvc`模块。`spring-web`...

    Spring攻略英文版(附带源码)

     第8章 Spring中的事务管理   第9章 Spring对ORM的支持   第10章 Spring MVC框架   第11章 整合Spring与其他Web框架   第12章 Spring对测试的支持  第三部分 高级主题  第13章 Spring Security...

    spring4.rar

    Spring的事务管理功能也是一大亮点,它支持编程式和声明式事务管理,能够处理复杂的分布式事务场景。 Spring的测试框架为单元测试和集成测试提供了方便,包括Mockito和Spring TestNG支持,帮助开发者编写高质量的...

    Spring核心知识点

    - **编程式事务**:如果需要更精细的控制,则可以使用编程式事务管理。 ##### 1.3 Spring Web Spring Web模块支持Web应用程序的开发,提供了对HTTP请求/响应的处理以及视图解析的支持。 - **MVC框架**:提供了...

    mybatis3+spring+springMVC4整合jar包

    context-4.0.2.RELEASE.jar, spring-core-4.0.2.RELEASE.jar, spring-beans-4.0.2.RELEASE.jar):Spring是一个全面的后端应用程序框架,它提供了依赖注入(DI)、面向切面编程(AOP)、事务管理、数据访问/集成、...

    abdera-jdbc-1.1.3-sources.jar

    标签:abdera-jdbc-1.1.3-sources.jar,abdera,jdbc,1.1.3,sources,jar包下载,依赖包

    jai_codec-1.1.3.jar,jai_core-1.1.3.jar

    例如,在一个图像处理应用程序中,你可能首先需要使用`jai_codec-1.1.3.jar` 来加载一个TIFF图像,然后利用`jai_core-1.1.3.jar` 中的函数进行色彩校正、裁剪或添加水印,最后再用编码库将处理后的图像保存回硬盘。...

    ChiaSetup-1.1.3.exe

    ChiaSetup-1.1.3.exe 1.1.3

    u-boot-1.1.3.tar.gz_u boot 1.1.3

    u-boot 1.1.3是其历史版本之一,此版本主要服务于基于Power Architecture架构的MPC83xx系列处理器的板级支持包(BSP,Board Support Package)。本文将对u-boot 1.1.3及其在MPC83xx平台的应用进行详细探讨。 一、u-...

Global site tag (gtag.js) - Google Analytics