前言 我之前写的一篇文章《聊聊sql优化的15个小技巧》,自发表之后,在全网广受好评,被很多大佬转载过,说明了这类文章的价值。 今天我接着上一期数据库的话题,更进一步聊聊索引的相关问题,因为索引是大家都比较关心的公共话题,确实有很多坑。 不知道你在实际工作中,有没有遇到过下面的这两种情况 ...
前言 对于从事java开发工作的同学来说,spring的事务肯定再熟悉不过了。 在某些业务场景下,如果一个请求中,需要同时写入多张表的数据。为了保证操作的原子性 要么同时成功,要么同时失败 ,避免数据不一致的情况,我们一般都会用到spring事务。 确实,spring事务用起来贼爽,就用一个简单的注解: Transactional,就能轻松搞定事务。我猜大部分小伙伴也是这样用的,而且一直用一直爽。 ...
2021-09-04 13:45 4 374 推荐指数:
前言 我之前写的一篇文章《聊聊sql优化的15个小技巧》,自发表之后,在全网广受好评,被很多大佬转载过,说明了这类文章的价值。 今天我接着上一期数据库的话题,更进一步聊聊索引的相关问题,因为索引是大家都比较关心的公共话题,确实有很多坑。 不知道你在实际工作中,有没有遇到过下面的这两种情况 ...
聊聊spring事务失效的12种场景,太坑了 ...
前言 对于从事java开发工作的同学来说,spring的事务肯定再熟悉不过了。在某些业务场景下,如果一个请求中,需要同时写入多张表的数据。为了保证操作的原子性 (要么同时成功,要么同时失败),避免数据不一致的情况,我们一般都会用到spring事务。 确实,spring事务用起来贼爽,就用一个 ...
Spring事务详解 什么叫事务?关于事务,最简单最常见的例子就是取钱。ATM机取钱有两个步骤,第一步输入金额密码,银行卡扣掉1000元,第二步ATM出钞1000元,这两个步骤必须要么都执行成功,要么都不执行。如果其中一个步骤失败了,必须把整个过程回滚,取消掉所有操作 ...
一、针对spring来说可以使用@transactional来开启事务 二、常见Spring事务失效的场景: 1、注解@Transactional配置的方法非public权限修饰; (1)、官方定义:使用代理时,您应该只将@Transactional注释应用于具有公共可见性的方法。如果使用 ...
参见大佬博客:https://zhuanlan.zhihu.com/p/98357492 ...
用 Spring 的 @Transactional 注解控制事务有哪些不生效的场景? 1 数据库引擎不支持事务 这里以 MySQL 为例,其 MyISAM 引擎是不支持事务操作的,InnoDB 才是支持事务的引擎,一般要支持事务都会使用 InnoDB。 从 MySQL 5.5.5 开始的默认 ...
使用默认的事务处理方式 因为在java的设计中,它认为不继承RuntimeException的异常是”checkException”或普通异常,如IOException,这些异常在java语法中是要求强制处理的。对于这些普通异常,spring默认它们都已经处理,所以默认不回滚。可以添加 ...