spring@Transactional配置说明 spring 事务配置

事务注解说明
@Transactional 类事务说明机制

@Transactional(noRollbackFor=RuntimeException.class)方法事务说明
@TRacsactional(RollbackFor=Exception.class)
@Tracsactional(readOnly=true);
@Tracsactional(timeout=100)
@Tracsactional(isolation)数据库的隔离级别
{
ReadUncommited:读取未提交的数据(会出现脏读 不可重复读 幻读)
ReadCimmited:读已提交的数据(会出现不可重复读和幻读)
RepeatableRead:可重复读(会出现幻读)
Serializable:串行化
}

information
{
脏读:一个事物读取到另外一个事物未提交的更新的数据
不可重复读:在同一个事物中,多次读取同一个数据返回结果有所不同就是后续的读取可以读到另外一个事物的已经提交的更新数据
可重复读:在同一个事物多次读取数据时 能够保证所读取数据一样 也就是后读取的不能读到另外一个事物已经提交的数据
幻读:一个事物读取到另外一个事物已经提交的更新的数据
}

针对查询方法
@Transactional(propagation=Propagation.NOT_SUPPORTED)针对某个方法不开启事务
@Transactional(propagation=Propagation.REQUIRED)默认的事务支持

Propagation.REQUIRED

Propagation.NOT_SUPPOKTED

Propagation.REQUIRESNEW

propagation.MANDATORY

Propagation.SUPPOKTS

Propagation.Never

Propagation.NESTED

XML配置事物

注解配置事物例子

public class Bean1{
@Transaction(propagation=Propagation.Required)
public voidupdate(){
executeUpdate(SQL);
}
}

public class Bean2{
@Transaction(propagation=Propagation.Required)
public voidupdate(){
executeUpdate( SQL);
}
}

public class TransactionExample {
@Transaction(propagation=Propagation.Required)
public voidpayment(){
daoBean1.update();
daoBean2.update();
}
}

//事务传播属性
@Transactional(propagation=Propagation.REQUIRED)//如果有事务,那么加入事
务,没有的话新建一个(不写的情况下)
@Transactional(propagation=Propagation.NOT_SUPPORTED)//容器不为这个方法
开启事务
@Transactional(propagation=Propagation.REQUIRES_NEW)//不管是否存在事务,
都创建一个新的事务,原来的挂起,新的执行完毕,继续执行老的事务
@Transactional(propagation=Propagation.MANDATORY)//必须在一个已有的事务中
执行,否则抛出异常
@Transactional(propagation=Propagation.NEVER)//必须在一个没有的事务中执
行,否则抛出异常(与Propagation.MANDATORY相反)
@Transactional(propagation=Propagation.SUPPORTS)//如果其他bean调用这个方
法,在其他bean中声明事务,那就用事务.如果其他bean没有声明事务,那就不用事务.

spring@Transactional配置说明 spring 事务配置
@Transactional(propagation=Propagation.NESTED)

@Transactional (propagation =
Propagation.REQUIRED,readOnly=true) //readOnly=true只读,不能更新,删除

@Transactional (propagation =Propagation.REQUIRED,timeout=30)//设置超时时间

@Transactional (propagation =
Propagation.REQUIRED,isolation=Isolation.DEFAULT)//设置数据库隔离级别

  

爱华网本文地址 » http://www.aihuau.com/a/25101015/281992.html

更多阅读

spring@Transactional配置说明 spring 事务配置

事务注解说明@Transactional 类事务说明机制@Transactional(noRollbackFor=RuntimeException.class)方法事务说明@TRacsactional(RollbackFor=Exception.class)@Tracsactional(readOnly=true);@Tracsactional(timeout=100)@Tracsac

CISCO交换机配置大全 cisco交换机配置手册

了解一些关于Cisco交换机命令,对于一般用户来讲还是非常有帮助的,下面我们就针对cisco交换机,给大家介绍一下各种Cisco交换机命令。Cisco交换机命令之使用Telnet远程式管理switch(config)#interface vlan 1 进入vlan 1switch(config-if

aspkindeditor单独上传图片配置 kindeditor多图片上传

Kindeditor编辑器是一款非常强大的编辑器,轻量级的。结合纯jQuery+CSS写成的,部署环境起来非常的简单方面快捷。在Kindeditor的官方网站上面供下载的Demo,但是里面的测试文件都是基于php方面的demo。而网上对asp的配置说明比较少。今

RHEL6.2配置CentosYUM源 rhel7 配置 yum 163源

Step1: 清除原有的yum源rpm -aq|grep yum|xargs rpm -e --nodepsStep2:下载新的yum()源进行安装,注意操作系统支持64位还是32位wgethttp://mirror.centos.org/centos/6.2/os/x86_64/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpmw

声明:《spring@Transactional配置说明 spring 事务配置》为网友爲何我還想他分享!如侵犯到您的合法权益请联系我们删除