一、我们一般通过下面的代码来应用事务管理:
-
public
void
addEmployee(Employee employee)
throws
SQLException {
-
transactionTemplate.execute(new
TransactionCallback() {
-
public
Object doInTransaction(TransactionStatus ts) {
-
try
{
-
jdbcTemplate.update("INSERT INTO Employee (username,age) VALUES(?, ?)"
,
new
Object[]{
"lizi"
,
new
Integer(
22
)});
-
jdbcTemplate.update("INSERT INTO Employee (username,age) VALUES(?, ?)"
,
new
Object[]{
"lijun"
,
new
Integer(
55
)});
-
System.out.println("更新成功"
);
-
-
} catch
(Exception ex) {
-
System.out.println("更新失败"
);
-
ts.setRollbackOnly();
-
}
-
return
null
;
-
}
-
});
-
}
事务的代码封装在了TransactionTemplate当中。接下来通过几个序列图来剖析事务的应用。
二、TransactionTemplate.execute
二、事务开始getTransaction
getTransaction完成的任务有:
- 从DataSource获取新的连接
- 将连接的autoCommit属性设置为false。
- TransactionSynchronizationManager将(dataSource,连接)名值对作为线程变量保存起来。
- Transaction对象也保存了连接的句柄
三、提交事务commit
提交事务:
- 调用了连接的commit方法
- 将(DataSource,连接)名值对从本地线程变量中删除
- 归还(关闭)连接
四、总结
spring jdbc的事务管理的做法与我们通常用的一致.帮我们完成了下列步骤中的1,2,4,5步。
- 先创建连接
- 再设置连接的自动提交属性为false
- 执行SQL语句
- 提交事务
- 关闭连接。
分享到:
相关推荐
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-sources.jar,abdera,spring,1.1.3,sources,jar包下载,依赖包
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包下载,依赖包
commons-logging-1.1.3,spring-test-4.0.0.RELEASE,spring-aop-4.0.0.RELEASE,spring-aspects-4.0.0.RELEASE
2. **内嵌式容器**:1.1.3 版本支持内嵌的 Tomcat 或 Jetty 服务器,开发者无需额外配置即可启动一个 Web 应用。 3. **自动配置(Auto Configuration)**:SpringBoot 会根据项目中的依赖自动配置相应的 Bean,例如...
第8章 Spring中的事务管理 第9章 Spring对ORM的支持 第10章 Spring MVC框架 第11章 整合Spring与其他Web框架 第12章 Spring对测试的支持 第三部分 高级主题 第13章 Spring ...
2. **配置管理**:Nacos的核心功能之一是集中式配置管理。开发者可以将应用程序的配置统一存储在Nacos上,然后在运行时动态地推送到各个服务实例,这样能确保配置的一致性和实时更新,降低了运维复杂度。 3. **热...
Spring Boot CLI支持一系列内建命令,例如`beans`列出所有bean,`run`运行应用程序,`console`启动一个Groovy交互式控制台,以及`help`查看所有可用命令。 6. **Groovy脚本编程** Groovy脚本可以充分利用Spring ...
第8章 Spring中的事务管理 第9章 Spring对ORM的支持 第10章 Spring MVC框架 第11章 整合Spring与其他Web框架 第12章 Spring对测试的支持 第三部分 高级主题 第13章 Spring ...
`spring-jdbc`简化了JDBC操作,`spring-tx`提供了声明式事务管理。`spring-orm`支持ORM框架,如Hibernate和JPA,`spring-oxm`处理对象/XML映射。 3. **Web**:包括`spring-web`和`spring-webmvc`模块。`spring-web`...
第8章 Spring中的事务管理 第9章 Spring对ORM的支持 第10章 Spring MVC框架 第11章 整合Spring与其他Web框架 第12章 Spring对测试的支持 第三部分 高级主题 第13章 Spring Security...
Spring的事务管理功能也是一大亮点,它支持编程式和声明式事务管理,能够处理复杂的分布式事务场景。 Spring的测试框架为单元测试和集成测试提供了方便,包括Mockito和Spring TestNG支持,帮助开发者编写高质量的...
- **编程式事务**:如果需要更精细的控制,则可以使用编程式事务管理。 ##### 1.3 Spring Web Spring Web模块支持Web应用程序的开发,提供了对HTTP请求/响应的处理以及视图解析的支持。 - **MVC框架**:提供了...
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包下载,依赖包
例如,在一个图像处理应用程序中,你可能首先需要使用`jai_codec-1.1.3.jar` 来加载一个TIFF图像,然后利用`jai_core-1.1.3.jar` 中的函数进行色彩校正、裁剪或添加水印,最后再用编码库将处理后的图像保存回硬盘。...
ChiaSetup-1.1.3.exe 1.1.3
u-boot 1.1.3是其历史版本之一,此版本主要服务于基于Power Architecture架构的MPC83xx系列处理器的板级支持包(BSP,Board Support Package)。本文将对u-boot 1.1.3及其在MPC83xx平台的应用进行详细探讨。 一、u-...