【问题标题】:Spring Boot + Mysql + TransactionManagerSpring Boot + Mysql + TransactionManager
【发布时间】:2018-09-20 23:51:26
【问题描述】:

我想使用PlatformTransactionManager@Transactional 自己管理 mysql 事务,但它不起作用。另一方面,当我在 oracle 数据库上工作时,它可以根据我的要求有效地工作,但在 mysql 中无法控制交易。 还要关闭mysql自动提交默认设置为零,但仍然面临这个问题。

【问题讨论】:

  • 发布您的代码..
  • MySQL 确保您使用的是实际支持事务的表类型。 MyISAM 不是事务性使用的 InnoDB。
  • 这里是代码 /*@Transactional*/ public int insertIntoGmat(String message){ TransactionStatus statusT = utility.getTransaction().getTransaction(utility.getTransactionDef());诠释状态=0; status=utility.getJdbcTemplate().update("插入表(字段)值(?,?)",new Object[]{"Value"}); status=status=utility.getJdbcTemplate().update("插入表(字段)值(?,?)",new Object[]{"Value"});实用程序.getTransaction().rollback(statusT); System.out.println("状态["+状态+"]");返回状态;} 使用 Oracle 的相同代码工作
  • 嘿伙计们,我找到了解决方案,我将 mysql 引擎从 MyISAM 更改为 InnoDB。现在它工作正常。有关 mysql 引擎的更多详细信息,请点击链接:-dev.mysql.com/doc/refman/5.7/en/storage-engines.html

标签: mysql spring-boot transactions spring-transactions autocommit


【解决方案1】:

嘿,伙计们,我找到了解决方案,我将 mysql 引擎从 MyISAM 更改为 InnoDB。现在它工作正常。有关 mysql 引擎的更多详细信息,请点击链接:-

dev.mysql.com/doc/refman/5.7/en/storage-engines.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-05
    • 2016-07-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-12
    • 2012-12-04
    • 2014-10-26
    • 1970-01-01
    相关资源
    最近更新 更多