关于spring手动进行事务提交以及回滚的问题。
来源:互联网 发布:鼠标对码软件 编辑:程序博客网 时间:2024/05/30 07:14
首先,就我的理解。
事务的过程如下:开始事务--------提交/回滚事务。
事务就是一系列执行的过程。开始之后,就会执行过程,并且记住过程。这个时候,数据库中所用的表是被锁定了的。
所以说,如果你只开始了事务,没有进行commit或者rollback,数据库中的所用的表就会被锁定。这个时候数据库中的表是打不开的,会出现一直在查询的过程。只能把窗口关掉,然后进行数据库表解锁的操作。
所以开始事务之后,一定要进行 提交/回滚事务的操作。
并且,commit之后就不能再rollback了。commit和rollback不能连续执行。否则会报
Transaction is already completed - do not call commit or rollback more than once per...
下面说下如何执行手动执行 事务提交以及回滚 的操作
①JDBC事务:
spring中的配置:
<!-- (事务管理)transaction manager, use JtaTransactionManager for global tx --><bean id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"/></bean><tx:annotation-driven transaction-manager="transactionManager"/>
impl中通过这样获取:
@Resource(name="transactionManager")private DataSourceTransactionManager transactionManager;
具体执行操作:
DefaultTransactionDefinition def = new DefaultTransactionDefinition();def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW); // 事物隔离级别,开启新事务,这样会比较安全些。TransactionStatus status = transactionManager.getTransaction(def); // 获得事务状态try {//逻辑代码,可以写上你的逻辑处理代码transactionManager.commit(status);} catch (Exception e) {transactionManager.rollback(status);}
再加上一点:
insert多条记录的时候,需要注意:如果一条insert语句 插入超过 120条记录(最好不要超过100条),就会出错:
传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。此 RPC 请求中提供了过多的参数。最多应为 2100。
所以这个就需要数据进行分组了。
还有就是大家通过eclipse,myeclipse或者idea有人会遇见通过maven下载jar包非常慢的情况,
在这里给大家推荐一个通过ss翻墙的方式,国内目前由于zf严厉打击VPN,博主买的loco网络加速器已经登录不了了。玛德官网都找不到了,更不要提找客服退款了。
下面是链接,博主测试了下网速还是可以的,感觉比loco买的高级VIP套餐还要好,当然loco也有可能是被查水表限速了。
价格也更优惠,15美刀1年,可以用支付宝支付。
Shadowsocks
参考:spring事务详解,springmvc手动控制事务
1 0
- 关于spring手动进行事务提交以及回滚的问题。
- spring手动开启、提交、回滚事务
- 关于Spring事务回滚的问题
- 关于Spring事务回滚的问题
- 关于Spring事务回滚的问题
- 关于Spring事务回滚的问题
- spring手动回滚事务
- spring手动回滚事务
- spring 手动事务回滚
- Spring手动回滚事务
- Spring手动回滚事务
- Spring手动回滚事务
- spring手动回滚事务
- Spring手动回滚事务
- 关于Spring的@Transactional注解失效以及事务无法回滚问题
- 利用Spring的事务模版来手动回滚事务
- 手动提交事务和回滚的使用典例
- spring手动设置事务回滚
- C++之substr与substring浅谈
- android开源项目二、
- Storm中Stream分组
- poj-迷宫问题(kuangbin 带你飞 搜索 k题)
- 公司目前iOS项目的架构及层次设计
- 关于spring手动进行事务提交以及回滚的问题。
- linux后台执行命令crontab
- hdu1181 变形课
- 阿里的Maven仓库地址
- c/c++进阶之爱恨交织的临时对象:一、出生和死亡
- IllegalBlockSizeException: Input length must be multiple of 8 when decrypting with padded cipher
- ORA-12519错误的解决方案
- Python IDE-PyCharm,PyDev+Eclipse
- linux下xgboost安装