当前位置: 首页 > 知识库问答 >
问题:

Java Spring-MyBatis-MySQL事务不工作

澹台成龙
2023-03-14

我们将Spring Boot/MySQL/mybatis组合用于我们的新项目。mybatis-用于事务管理的Spring。

我们使用的MySQL引擎是InnoDB。这是我们第一次将MySQL数据库用于微服务。

@Transactional(propagation = Propagation.REQUIRED, rollbackFor = BusinessException.class)
            public boolean updateApplicationStatus(){
    try{
    }catch(Exception ex){
     throw new BusinessException(ex.getMessage(), ex.getCause());
    }
}

BusinessException扩展RuntimeException。

模式和表引擎是InnoDB。

我们是否缺少任何特定于mysql的设置?

共有1个答案

凤高翰
2023-03-14

我为多个数据库使用了多个事务管理器。在注释中添加事务管理器标识符解决了这个问题。

 类似资料:
  • 我在这里尽量简明扼要。我已经研究了网络上报告的许多类似问题,并根据这些问题评估了我的问题。但是,这并没有解决我的问题。所以我终于把这个放上去了。 我有一个带有默认值的spring注释的事务性服务(在实现的类方法上进行了注释)。该服务通过直接调用mybatis映射器方法(在服务中自动连线)来执行一些插入(在循环中)和无参数存储过程调用。 我在Tomcat和驱动程序管理器连接单元测试中使用JNDI连接

  • 主要内容:1. 概述,2. Transaction,3. TransactionFactory1. 概述 MyBatis 对数据库中的事务进行了抽象,其自身提供了相应的事务接口和简单实现。 在很多场景中,MyBatis 会与 Spring 框架集成,并由 Spring 框架管理事务 2. Transaction org.apache.ibatis.transaction.Transaction ,事务接口。代码如下: 2.1 JdbcTransaction org.apache.ibati

  • 嗨,我正在尝试开发带有事务的spring和hibernate应用程序,我正在使用Spring4。x和hibernate 4。下面是我的代码片段 应用程序上下文。xml servlet上下文。xml 坚持。xml finnaly meservice看起来像这样 和 这里会发生运行时异常,但db记录没有回滚。

  • 我是一个新的Spring和学习的事务概念。无法使@Transactional工作。 用例: 当getEmployee()抛出RuntimeException时,员工和员工详细信息的数据插入应该回滚。但回滚没有发生。我使用的是Oracle数据库11g和spring 4.3.1版本。下面是正在运行的独立java代码。

  • 我正在尝试在数据库中保存对象。正在执行代码并创建实体的Id,但实体未持久化到数据库(未插入行): 从三行(beginTransation,flush,commit)中删除注释解决了问题,但是为什么注释在这里不起作用呢? spring XML: POM xml文件:

  • @Transactional标记是最近添加的。所以不确定它是否像预期的那样工作。 代码: 服务类别: