事务方法日志:
reating new transaction with name ]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT,-Exception
Acquired Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@1ff05076] for JDBC transaction
Switching JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@1ff05076] to manual commit
db操作
db操作
db操作
db操作
Initiating transaction commit
Committing JDBC transaction on Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@1ff05076]
Releasing JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@1ff05076] after transaction
Returning JDBC Connection to DataSource
非事务方法日志:
Fetching JDBC Connection from DataSource
JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@106f5913] will not be managed by Spring
Using Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@106f5913]
Preparing: sql..........................
Parameters: 9855153(Long), 9157285(Long), 9665893(Long), 31031419(Long), 30292757(Long), 9157263(Long), 9856389(Long), 31191611(Long), 31192781(Long)
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@58254e5a]
Returning JDBC Connection to DataSource
mybatis 有事务:
Creating a new SqlSession
Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@27daa766]
SpringManagedTransaction:85 - JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@106f5913] will be managed by Spring
Using Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@106f5913]
Preparing:sql
Parameters: 0(Integer), 1(Integer), 2(Integer), 237(Long), 883(Long), 236(Long), 235(Long), 233(Long), 719(Long), 231(Long), 229(Long), 227(Long), 223(Long), 907(Long), 697(Long), 417(Long), 419(Long), 0(Integer), 18(Integer)
Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@27daa766] from current transaction
Using Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@106f5913]
Preparing: sql
Parameters: 0(Integer), 1(Integer), 2(Integer), 237(Long), 883(Long), 236(Long), 235(Long), 233(Long), 719(Long), 231(Long), 229(Long), 227(Long), 223(Long), 907(Long), 697(Long), 417(Long), 419(Long), 0(Integer), 18(Integer)
SqlSessionUtils:165 - Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@27daa766]
Participating in existing transaction
Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@27daa766] from current transaction
Using Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@106f5913]
Preparing:sql
Parameters: 442(Long), 213715(Long), 208649(Long), 213707(Long), 212137(Long), 213699(Long), 211365(Long), 212799(Long), 211367(Long), 212745(Long), 212385(Long), 210029(Long), 208623(Long), 5231(Long), 208635(Long), 18915(Long), 11307(Long), 5643(Long), 16699(Long)
SqlSessionUtils:165 - Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@27daa766]
SqlSessionUtils:170 - Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@741ab9e]
DataSourceUtils:327 - Returning JDBC Connection to DataSource
相关推荐
### Spring事务与数据库操作 #### 一、Spring的声明式事务管理 在现代软件开发中,事务处理是非常关键的一部分,特别是在涉及多个数据操作时。Spring框架提供了强大的事务管理能力,可以方便地集成到应用程序中。...
本资源包提供了进行Spring事务管理开发所需的所有关键库,包括框架基础、核心组件、AOP(面向切面编程)支持、日志处理、编译工具以及与数据库交互的相关jar包。下面将对这些知识点进行详细解释: 1. **Spring框架*...
Spring事务机制是Java开发中非常重要的一个概念,它在企业级应用中扮演着核心角色,确保数据的一致性和完整性。Spring提供了多种事务管理方式,包括编程式事务管理和声明式事务管理。在这篇DEMO中,我们将重点探讨...
AOP 的核心是 aspect,它封装了特定的关注点,比如日志记录、安全性检查或事务管理,并允许在运行时把这些关注点与业务逻辑相织入。 Spring 框架中的事务管理分为两种主要方式:编程式事务管理和声明式事务管理。 ...
`spring-aop.jar`是Spring的AOP模块,它允许开发者定义切面,实现横切关注点,如事务管理、日志记录等。AOP是Spring中用于解耦关注点的一个重要工具,它使得业务逻辑代码无需直接处理这些通用任务。 Spring的DAO...
### AOP与Spring事务处理详解 #### 一、引言:为什么使用框架和设计模式? 在软件开发领域,设计模式和框架是两个重要的概念。设计模式作为一种指导思想,能够帮助开发者更好地解决常见的软件设计问题,确保系统...
- **Spring AOP**:Spring AOP允许开发者将一些通用的业务逻辑(例如日志、事务管理等)从业务代码中抽离出来,形成一个独立的部分,即切面(Aspect)。这样做的好处是可以减少业务代码的耦合度,提高代码的可读性...
本练习主要涵盖了Spring的三个方面:面向切面编程(AOP)、JDBC(Java Database Connectivity)以及事务管理(TX)。让我们详细探讨这些知识点。 1. **Spring AOP(面向切面编程)** 面向切面编程是Spring框架的一...
在Spring框架中,事务管理是核心特性之一,用于确保数据操作的一致性和完整性。当一个方法(A方法)内部调用另一个方法(B方法)时,可能会遇到事务控制...这个示例代码对于理解和调试Spring事务管理的问题非常有帮助。
AOP是一种编程范式,它可以将横切关注点(如日志记录、安全控制和事务管理)从业务逻辑中分离出来。借助Spring AOP,开发者可以通过声明式的方式使用企业级服务,比如安全性服务、事务服务等。 - **AOP的优势**: ...
Spring事务传播属性是这一机制的关键组成部分,它定义了在一个事务方法被另一个事务方法调用时,应该如何处理事务的边界。在深入理解Spring事务传播属性之前,我们首先需要了解Spring中的事务管理模型,包括编程式...
AOP是Spring框架的一个重要特性,允许我们在不修改源代码的情况下,通过"切面"来关注代码中的横切关注点,如事务管理、日志记录等。我们可以创建一个切面类,使用`@Aspect`注解,并在其中定义通知(advice),如`@...
例如,我们可以创建一个通知(Advice)来记录事务日志或处理其他与事务相关的任务。 在实际项目中,声明式事务管理更为常见,因为它降低了代码的耦合度,提高了可维护性。要启用声明式事务管理,我们需要在Spring...
Spring事务介绍,分23类进行梳理 Spring事务是指在Spring框架中对事务的支持和管理。事务是指一系列的操作,作为一个单元一起执行,如果其中任何一个操作失败,整个事务将被回滚。在Spring中,事务可以分为23类,...
对于Spring事务管理,我们通常有两种方式:编程式和声明式。编程式事务管理需要在代码中显式地调用begin、commit、rollback等事务控制方法,而声明式事务管理则是在配置文件或注解中声明事务规则,更加简洁且易于...
例如,可能会有一个自定义的MyBatis拦截器用于分页查询,一个Spring AOP切面用于记录操作日志,Spring事务管理确保数据的一致性,而反射工具类可能用于动态加载配置或处理某些通用的反射任务。通过这些组件的组合,...
本教程主要聚焦于Spring框架的两大核心特性:Spring AOP(面向切面编程)和Spring事务处理,通过具体的应用案例来深入理解这两个概念。 首先,让我们详细探讨Spring AOP。AOP是面向切面编程的缩写,它允许程序员...
最后,`spring-tx.jar`提供事务管理支持,无论是编程式还是声明式的事务管理,都可以通过日志查看其处理过程。 通过分析这些日志,开发者不仅能了解Spring的内部机制,还能定位问题,优化性能,提升应用的稳定性和...