`
y806839048
  • 浏览: 1127383 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

mybati事物配置

 
阅读更多
事物---申明(service),注解(可以到control),遇到无效情况----mysql 配置改 innerdb  切面中改 (service层方法)throw  runtimeexception(或者配置事物的方法中加rollback-for="Exception")
配置rollback-for="Exception"只要service抛出exception即可,不配要跑出runingtimeexception,至于control层继续抛出进行全局异常处理还是,catch写到一个页面随便




申明式实物,注解事物-----------------、????????????????????????????????
   http://www.tuicool.com/articles/6Jb6nm
   http://blog.csdn.net/z69183787/article/details/37819831
   Spring容器优先加载由ServletContextListener(对应applicationContext.xml)产生的父容器,而SpringMVC(对应mvc_dispatcher_servlet.xml)产生的是子容器。子容器Controller进行扫描装配时装配的@Service注解的实例是没有经过事务加强处理,即没有事务处理能力的Service,
   而父容器进行初始化的Service是保证事务的增强处理能力的。如果不在子容器中将Service exclude掉,此时得到的将是原样的无事务处理能力的Service。
     <mvc:annotation-driven  >
<context:component-scan base-package="com.wondersgroup.employeeBenefits" >
            <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/>
    </context:component-scan>
<!-- 自动扫描(自动注入) -->
<context:component-scan base-package="com.wondersgroup.employeeBenefits" >
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>

service 层要加@service主机
   http://my.oschina.net/u/205170/blog/152438
   http://www.mamicode.com/info-detail-668183.html
    @Transactional注解标签

因为在运行中,所以使用RuntimeException进行异常抛出,类中不能使用try捕捉异常,直接throws Exception抛出异常

如运行时使用Exception抛出异常,则回滚无效
  配置事物的异常不能catch调 要一直抛出处理
  ===============================================================================
  父容器排除control(listeren中加载的配置文件),子容器排除service
  父
  <context:component-scan base-package="com.wondersgroup.employeeBenefits" >
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>
<context:annotation-config/>父启动会注解
<!-- 注解方式配置事物 -->
<tx:annotation-driven transaction-manager="transactionManager" /> //申明式事物和注解事物可以同时存在

  子
  <context:component-scan base-package="com.wondersgroup.employeeBenefits" >
            <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/>
    </context:component-scan>
<mvc:annotation-driven/>spring mvc这个子容器启动注解

control可以catch 也可throws,service不能catch只能throw
事物类要@service标记
具体中的方法
@Transactional (readOnly =  false , rollbackFor = Exception.class )  //默认只用runningtimeexception

数据库要支持mysql  innerdb

<tx:method name="tx*" propagation="REQUIRED" rollback-for="Exception"/>//合并于当前大的事物中
 
 
  • sw.rar (9.5 KB)
  • 下载次数: 0
分享到:
评论

相关推荐

    springmvc+mybatis事物

    在这个“springmvc+mybatis+mysql完整事物实例”中,我们将深入探讨如何在SpringMVC和MyBatis之间协同工作,以及如何在MySQL数据库中管理事务。 1. **SpringMVC**:SpringMVC的核心组件包括DispatcherServlet、...

    idea 14 ssm 全注解框架+log4j+事物控制+mybatis基础Dao配置

    下面将详细阐述SSM框架、Log4j日志管理、事务控制以及MyBatis的基础Dao配置。 首先,Spring框架作为核心,负责依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)。通过注解...

    Mybatis配置文件

    引入属性文件,注解扫描包,druid(德鲁伊)配置数据源 (c3p0 dbcp druid),监控数据库,配置sqlSessionFactory 将spring与mybatis结合,装配dao或mapper接口,拦截器方式配置事物——事务通知

    maven springboot jta mybatis 分布式事物

    在本项目中,"maven springboot jta mybatis 分布式事物" 是一个核心主题,这涉及到几个关键技术和概念,下面将详细解释这些知识点。 首先,`Maven` 是一个构建工具,它帮助开发者管理项目的依赖关系,构建流程以及...

    SpringMVC+Mybatis+WebSocket+Task定时任务

    在本项目中,Mybatis被用于数据库操作,如CRUD(创建、读取、更新、删除)操作,通过XML或注解配置SQL语句,使得数据库访问更加简单且高效。 **WebSocket**: WebSocket是一种在客户端和服务器之间建立长连接的协议...

    springboot+mybatis+mysql的配置

    本案例里面是springboot+mybatis+mysql 基于java配置类最少配置内容; application.properties文件中配置mysql的相关配置自动装配到spring 里面然后只需要配置mybatis 的相关配置即可.

    MyBatis3.2.3中文帮助文档

    8. **事物管理**:MyBatis支持手动和自动两种事务管理模式。在Spring整合MyBatis时,通常采用Spring的事务管理,可以实现全局事务控制。 9. **自定义拦截器**:通过实现`Interceptor`接口,可以创建自定义拦截器,...

    mybatis递归查询菜单树

    在本示例中,"mybatis递归查询菜单树"是一个基于SpringBoot架构的应用,它演示了如何利用MyBatis进行递归查询来构建菜单树结构。此外,这个项目还集成了JTA(Java Transaction API)以支持分布式事务处理,并使用了...

    Mybatis入门三天源码

    9. **事物管理**:Mybatis提供了手动和自动两种事务管理方式。在Spring整合Mybatis的情况下,通常由Spring负责事务的开启、提交和回滚。 10. **博客笔记**:博客链接中的内容可能包括详细的步骤解析、常见问题解答...

    springboot + mybatis + atomikos 多数据源分布式事物管理

    接下来,为了使 MyBatis 与 Atomikos 集成,我们需要创建一个自定义的事务管理器,并在 MyBatis 的配置中指定这个事务管理器。这样,当执行带有 @Transactional 注解的方法时,Atomikos 会负责事务的开始、提交或...

    mybatis_java_以了解_

    在实际应用中,MyBatis还有许多实用特性,如延迟加载、自动生成主键、事物控制等。以下是一些建议的最佳实践: 1. **使用Mapper接口**: 相比于直接操作SqlSession,使用Mapper接口可以使代码更清晰,更易于测试。 ...

    Mybatis官方文档

    10. **事物管理**:Mybatis默认采用JDBC的事务管理,但也可以配合Spring等框架实现更高级的事务控制策略。 通过阅读"Mybatis官方文档",不仅可以掌握Mybatis的基本用法,还能深入了解其设计思想和最佳实践,从而在...

    spring+mybatis+jta实现多数据源的分布式事物(代码可以直接运行)

    综上所述,"spring+mybatis+jta实现多数据源的分布式事物"项目为开发者提供了一个实用的示例,帮助他们了解和掌握在实际应用中如何处理复杂的事务场景。通过这个项目,开发者可以学习到Spring的事务管理、MyBatis的...

    mybatis的jar包

    5. 支持事物管理:MyBatis可以配合Spring等框架进行事务控制,提供完善的事务处理能力。 至于“教程”这个压缩包子文件,可能是包含了一系列关于如何使用MyBatis的学习资料,例如: 1. MyBatis快速入门:介绍...

    mybatis3.4.1jar包及框架源码

    1. **配置与环境搭建**:MyBatis的使用始于创建`mybatis-config.xml`配置文件,它定义了数据源、事务管理器等核心设置。通过`&lt;mappers&gt;`标签可以引入XML映射文件,这些文件包含SQL语句和结果映射。 2. **SQL映射...

    深入浅出MyBatis技术原理与实战.pdf.7z

    7. MyBatis的扩展功能:包括自定义插件、事物管理、MyBatis Plus等高级特性。 8. 实战案例:提供实际项目中的应用场景,如用户管理、订单处理等,让读者将理论知识转化为实际操作能力。 通过阅读《深入浅出MyBatis...

    mybatis入门教程Demo

    MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。在本入门教程中,我们将探讨如何...这是一个很好的起点,为进一步深入学习MyBatis的高级特性,如事物管理、插件扩展等打下坚实的基础。

    mybatis与spring整合全部jar包(包括springmvc).zip

    在Java开发领域,MyBatis和Spring框架的...开发者可以根据项目需求,进一步配置事物管理、异常处理等高级特性,提高系统的稳定性和可扩展性。在实际开发中,这样的集成大大减少了数据库操作的复杂性,提高了开发效率。

    初识mybatis的项目

    9. **事物管理**:MyBatis 支持手动和自动两种事务管理方式。在 Spring 框架中,可以与 Spring 的事务管理集成,实现更高级别的事务控制。 10. **MyBatis-Spring 集成**:结合 Spring,MyBatis 可以实现 Dao 层的无...

Global site tag (gtag.js) - Google Analytics