o.s.web.servlet.DispatcherServlet - DispatcherServlet with name 'o2o' processing GET request for [/o2o/product_1.html]
o.s.w.s.m.a.DefaultAnnotationHandlerMapping - Matching patterns for request [/product_1.html] are [/product_{id}.*, /product_{id}]
o.s.w.s.m.a.DefaultAnnotationHandlerMapping - URI Template variables for request [/product_1.html] are {id=1}
o.s.w.s.m.a.DefaultAnnotationHandlerMapping - Mapping [/product_1.html] to HandlerExecutionChain with handler [com.lovebuy.o2o.controller.ProductController@bdbf8] and 2 interceptors
o.s.web.servlet.DispatcherServlet - Last-Modified value for [/o2o/product_1.html] is: -1
o.s.w.b.a.s.HandlerMethodInvoker - Invoking request handler method: public java.lang.String com.lovebuy.o2o.controller.ProductController.get(java.lang.Long,org.springframework.ui.ModelMap)
o.s.b.f.s.DefaultListableBeanFactory - Returning cached instance of singleton bean 'txManager'
//创建一个新事物
o.s.j.d.DataSourceTransactionManager - Creating new transaction with name [com.lovebuy.o2o.service.ProductService.getProduct]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT; ''
//获得一个连接
o.s.j.d.DataSourceTransactionManager - Acquired Connection [jdbc:mysql://localhost:6/o2o?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull, UserName=root@localhost, MySQL-AB JDBC Driver] for JDBC transaction
//打开jdbc连接
o.s.j.d.DataSourceTransactionManager - Switching JDBC Connection [jdbc:mysql://localhost:6/o2o?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull, UserName=root@localhost, MySQL-AB JDBC Driver] to manual commit
//创建一个sqlsession
org.mybatis.spring.SqlSessionUtils - Creating a new SqlSession
//在session上注册事物
org.mybatis.spring.SqlSessionUtils - Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@af]
o.m.s.t.SpringManagedTransaction - JDBC Connection [jdbc:mysql://localhost:6/o2o?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull, UserName=root@localhost, MySQL-AB JDBC Driver] will be managed by Spring
c.l.o.m.ProductMapper.insertProduct - ==> Preparing: insert into t_product(id, name, price) values (?, ?, ?)
c.l.o.m.ProductMapper.insertProduct - ==> Parameters: 0(Long), ???0(String), 0(Long)
c.l.o.m.ProductMapper.insertProduct - <== Updates: 1
//在sesssion上的事物先
org.mybatis.spring.SqlSessionUtils - Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@af]
//从当前事物中取session
org.mybatis.spring.SqlSessionUtils - Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@af] from current transaction
c.l.o.m.P.selectProductByID - ==> Preparing: select * from t_product where id = ?
c.l.o.m.P.selectProductByID - ==> Parameters: 1(Long)
c.l.o.m.P.selectProductByID - <== Total: 1
//Releasing transactional SqlSession ?????
org.mybatis.spring.SqlSessionUtils - Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@af]
//事物提交
org.mybatis.spring.SqlSessionUtils - Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@af]
//注销事物上的session
org.mybatis.spring.SqlSessionUtils - Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@af]
org.mybatis.spring.SqlSessionUtils - Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@af]
o.s.j.d.DataSourceTransactionManager - Initiating transaction commit
o.s.j.d.DataSourceTransactionManager - Committing JDBC transaction on Connection [jdbc:mysql://localhost:6/o2o?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull, UserName=root@localhost, MySQL-AB JDBC Driver]
o.s.j.d.DataSourceTransactionManager - Releasing JDBC Connection [jdbc:mysql://localhost:6/o2o?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull, UserName=root@localhost, MySQL-AB JDBC Driver] after transaction
o.s.jdbc.datasource.DataSourceUtils - Returning JDBC Connection to DataSource
o.s.b.f.s.DefaultListableBeanFactory - Invoking afterPropertiesSet() on bean with name '/product'
o.s.web.servlet.DispatcherServlet - Rendering view [org.springframework.web.servlet.view.JstlView: name '/product'; URL [/WEB-INF/jsp//product.jsp]] in DispatcherServlet with name 'o2o'
o.s.web.servlet.view.JstlView - Added model object 'product' of type [com.lovebuy.o2o.entity.Product] to request in view with name '/product'
o.s.web.servlet.view.JstlView - Added model object 'org.springframework.validation.BindingResult.product' of type [org.springframework.validation.BeanPropertyBindingResult] to request in view with name '/product'
o.s.web.servlet.view.JstlView - Forwarding to resource [/WEB-INF/jsp//product.jsp] in InternalResourceView '/product'
o.s.web.servlet.DispatcherServlet - Successfully completed request
o.s.b.f.s.DefaultListableBeanFactory - Returning cached instance of singleton bean 'sqlSessionFactory'
分享到:
相关推荐
7. **Spring事务管理**: Spring通过`PlatformTransactionManager`接口提供事务管理服务,它可以控制MyBatis的事务边界,确保数据库操作的一致性。 8. **SpringAOP与MyBatis拦截器**: SpringAOP可以与MyBatis的...
2. **事务管理**:MyBatis-Spring支持Spring的声明式事务管理,可以将MyBatis的操作纳入Spring的事务管理范围,确保数据的一致性。 3. **简化SqlSession管理**:通过使用SqlSessionTemplate和SqlSessionDaoSupport...
除了基本的Mapper注入,MyBatis-Spring还支持Spring的AOP切面编程,可以实现如缓存、日志等扩展功能。此外,对于多数据源的支持也是其一大亮点,通过配置不同的SqlSessionFactory,可以轻松处理多个数据库的访问。 ...
Mybatis-Spring与Spring的声明式事务管理结合,可以在服务层的方法上使用@Transactional注解,实现事务的自动开启、提交、回滚。 7. **SqlSessionTemplate和SqlSessionDaoSupport** 这两个类是Mybatis-Spring提供...
mybatis-spring.jar则是专门用于MyBatis与Spring集成的库,它使得MyBatis的SqlSessionFactory或SqlSessionTemplate可以通过Spring的Bean工厂来管理,便于实现事务控制。 4. **Spring MVC库**:包括spring-webmvc....
在"MyBatis 与 Spring 整合中文版"的文档中,主要涵盖了以下几个核心知识点: 1. **整合背景**:在Java Web开发中,MyBatis与Spring的结合可以避免直接操作JDBC,提高代码的可读性和可维护性。Spring通过管理...
标题 "mybatis与spring整合全部jar包.rar" 描述的内容涉及到的是将MyBatis与Spring进行集成时所需的一系列依赖库。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,而Spring是一个全面的...
5. **事务的自动提交和回滚**:MyBatis-Spring 能够在 Spring 的事务管理下自动处理 SqlSession 的提交和回滚,确保了事务的一致性。 6. **无须手动关闭 SqlSession**:在 Spring 环境下,通过 SqlSessionTemplate ...
5. **TransactionManagement**: MyBatis-Spring支持Spring的声明式事务管理,使得事务的边界可以清晰地定义在Service层,提高了事务处理的灵活性和可维护性。 6. **ExecutorType**: 支持设置不同的Executor类型,...
- MyBatis-Spring能够很好地与Spring的声明式事务管理结合,使得事务控制更为简单。只需在Service层的方法上添加@Transactional注解,就可以实现事务的开启、提交或回滚。 4. **性能优化:** - 使用MyBatis-...
首先,MyBatis框架的核心jar包包括MyBatis的核心库mybatis-x.x.x.jar,它包含了MyBatis的SQL映射、事务管理、日志等功能。此外,还需要mybatis-spring-x.x.x.jar,这是MyBatis与Spring的适配器,用于将MyBatis的...
7. **Spring MVC**:虽然标签中没有明确提及Spring MVC,但在实际的Spring应用中,它常与Mybatis一起使用,负责处理HTTP请求,实现业务逻辑与视图的分离。 8. **测试**:Maven的测试框架如JUnit和Mockito可以用来...
这些库分别提供了Spring的上下文、bean管理、数据库事务控制以及与MyBatis的集成接口。 在标签中提到了"MyBatis",这是关键的关键词,意味着这个整合主要针对MyBatis的使用。MyBatis允许开发者编写XML或注解形式的...
- 利用Spring的AOP功能,实现全局异常处理和日志记录。 - 设计合理的Service和Mapper接口,遵循单一职责原则。 - 使用MyBatis的动态SQL功能,提高代码的可读性和灵活性。 通过深入研究和实践《mybatis-spring整合...
- **事务管理**:Spring提供了PlatformTransactionManager接口来处理事务,可以配置为JDBC的DataSourceTransactionManager,将事务控制与业务逻辑解耦。 4. **配置详解**: - **mybatis-config.xml**:这是...
在 MyBatis 和 Spring 整合的过程中,日志系统可以帮助开发者追踪问题,优化性能,尤其是在处理数据库操作时,日志记录显得尤为重要。 整合 MyBatis 和 Spring 的步骤通常包括以下几个关键部分: 1. **配置 Spring...
MyBatis与Spring的整合通常涉及到以下几个关键步骤: 1. **配置Spring的ApplicationContext**:在Spring的配置文件中,我们需要声明MyBatis的SqlSessionFactoryBean,指定数据源和MyBatis的配置文件。 2. **定义...
- `mybatis-spring-x.x.x.jar`:Mybatis与Spring的整合库,提供了与Spring框架集成的接口和类。 - `spring-x.x.x.jar`:Spring的核心库,包含了Spring的IoC和AOP等功能。 - `spring-webmvc-x.x.x.jar`:Spring MVC库...
- `mybatis-spring-1.x.x.jar`: 这是MyBatis与Spring的适配器,提供了Spring环境下的事务管理、SqlSession工厂和Mapper工厂等功能,使得MyBatis能够无缝集成到Spring应用中。 2. Spring核心Jar包: - `spring-...
通过这些jar包,开发者可以创建一个能够处理数据库交互、事务管理、AOP切面、以及Spring容器管理的MyBatis-Spring应用程序。它们共同构成了一个基础的框架环境,使得开发者可以专注于业务逻辑的编写,而不必过于关心...