网站建设怎么搭建服务器,怎么搜索整个网站,安徽省建设厅网站巅川建设有限公司,电话营销spring事务的传播特性--7种REQUIRED支持当前事务#xff0c;如果没有事务会创建一个新的事务SUPPORTS支持当前事务#xff0c;如果没有事务的话以非事务方式执行MANDATORY(强制性)支持当前事务#xff0c;如果没有事务抛出异常REQUIRES_NEW创建一个新的事物并挂起当前事务NO…spring事务的传播特性--7种REQUIRED支持当前事务如果没有事务会创建一个新的事务SUPPORTS支持当前事务如果没有事务的话以非事务方式执行MANDATORY(强制性)支持当前事务如果没有事务抛出异常REQUIRES_NEW创建一个新的事物并挂起当前事务NOT_SUPPORTED以非事务执行如果当前有事务则将当前事务挂起NEVER以非事务执行如果存在事务则抛出异常NESTED(嵌套)如果当前存在事务则嵌套事务内执行如果当前没有事务则进行REQUIRED案例有事务指的是Transactional(propagation  Propagation.REQUIRED)也就是默认事务A:方法method A(){sql-a--//向stu表中插入数据;method B();}B:方法method(){sql-b1--//向stu表中插入数据;int a 1/0;sql-b2--//向stu表中插入数据;}1.REQUIRED解析 如果A方法上有事务B方法没有事务结果--一条数据都添加不进去(A方法有了事务B方法不管有没有事务都是A事务执行。) 如果A方法没有事务B方法有事务则a的数据会添加成功B的回滚。2.SUPPORTS解析 如果A方法有事务B方法是SUPPORTS结果为一条都添加不进去。(A有事务B是支持事务B也会使用A的事务)。 如果A没有事务B为SUPPORTS结果a的sql和b1的sql会执行成功(就是没有事务)表里会有ab1的数据3.MANDATORY解析 如果A有事务B为MANDATORY结果一条都加不进去(A有事务B为强制事务会加入A的事务) 如果A没有事务B为MANDATORY结果抛出异常IllegalTransactionStateExceptiona的数据添加成功。4.REQUIRES_NEW解析 如果A有事务B为REQUIRES_NEW结果全部回滚 如果A没有事务B为REQUIRES_NEW结果a数据添加成功B方法的全部回滚5.NOT_SUPPORTED解析 如果A有事务B为NOT_SUPPORTED结果A的结果回滚B为不用事务执行。 如果A没有事务B为NOT_SUPPORTED结果全部不用回滚(就是非事务)6.NEVER解析 如果A有事务B为NEVER结果全部回滚7.NESTED 如果A有事务B为NESTED结果全部回滚。 如果A没有事务B为NESTED结果a添加成功b失败回滚(也就是以事务执行)Mysql的事务隔离级别(4种)read uncommitted(读未提交)事务中的修改即使没有提交也被其他事务读取到这种情况也叫脏读。read committed(读已提交)一个事务开始时只能看到已经提交的事务所做的修改。两次执行同样的查询可能会得到不同的结果repeatable read(可重复读)会产生幻读。当某个事物在读取某个范围的记录时另一个事务又在该范围内插入新的记录当之前的事务再次读取该范围的记录时会产生幻行。serializable(可串行化默认最高级别)