首页
留言板
友链
关于
Search
1
内测“合金弹头”嘿嘿
1,197 阅读
2
Nginx搭建一个简易的图床
1,087 阅读
3
Kettle循环遍历结果集作为参数传入转换
1,086 阅读
4
Maven3.3.9的安装与配置
617 阅读
5
Maven打包插件与idea
580 阅读
知识库
好奇猫
日常说
笔记本
登录
/
注册
Search
标签搜索
maven
Spring
vue
Java
Java代码
前端
idea
帆软
MySQL
git
CSS
游戏
Bootstrap
生活
网上冲浪
邮件配置
说说
Nginx
Excel
数据库调优
龙流
累计撰写
61
篇文章
累计收到
34
条评论
首页
栏目
知识库
好奇猫
日常说
笔记本
页面
留言板
友链
关于
搜索到
1
篇与
事务
的结果
2022-09-22
Spring的声明式事务
声明式事务使用案例《待补充...》声明式事务的属性只读、超时、回滚策略//设置只读事务,该声明式事务中的数据库操作只能是查询,有非查询操作则会报错 //优点:数据库会根据只查询操作进行优化 //设置方法如下,默认为false @Transactional(readOnly = true) /**事务超时属性 * 事务在执行过程中,有可能因为遇到某些问题,导致程序卡住,从而长时间占用数据库资源。 * 而长时间占用资源,大概率是因为程序运行出现了问题(可能是Java程序或MySQL数据库或网络连接等等)。 * 此时这个很可能出问题的程序应该被回滚,撤销它已做的操作,事务结束,把资源让出来,让其他正常程序可以执行。 */ //设置方法如下,默认值为-1 @Transactional(timeout = 3) /** 事务的回滚策略 * 声明式事务默认只针对运行时异常回滚,编译时异常不回滚。可以通过@Transactional中相关属性设置回滚策略 * rollbackFor属性:需要设置一个Class类型的对象 * rollbackForClassName属性:需要设置一个字符串类型的全类名 * noRollbackFor属性:需要设置一个Class类型的对象 * noRollbackForClassName属性:需要设置一个字符串类型的全类名 */ //设置方法如下,value值是数组类型,只有一个值时可以大括号可加可不加 @Transactional(noRollbackFor={xxx.calss})事务的隔离级别有四种;1、读未提交:会产生脏读的问题,操作数据行和数据表都会存在该问题2、读已提交:会产生不可重复读的问题,例如银行卡转账的同时,在ATM机操作取钱;事务1操作时,事务2动作已经执行一半了,但还没有提交,而事务1读取的数据还是事务2没改变的数据3、可重复读:会产生幻读的问题,指的是操作数据表结果集时会幻读,因为可重复读隔离级别是对数据行加锁,不对表加锁。4、串行化:隔离级别最高,但效率最低。
2022年09月22日
98 阅读
0 评论
0 点赞