SSH架构整合-》事务处理

在SSH架构中遇到CUD操作时,由于OpenSessionInView的使用,导致事务处理出现异常,无法正常添加或删除数据且不报错。解决方法是通过创建新的spring-aop.xml配置文件来调整事务管理。
摘要由CSDN通过智能技术生成
事务:
	Transaction
	完整的过程
	数据库中才有事务这个概念
	数据的非查询操作
			事--》事情  做一件事情有可能影响多个对象
			务--》任务  要么完成了,要么没完成...
			一个可能影响多个对象的事情,要么完成了,要么没完成。
			
			* 什么是事务:事务是一次完整的事情,有一条及以上sql语句组成,这些sql语句有一个特点要么全部成功,要么全部失败。
			
			数据库:CRUD 增删改查
			特点:称为ACID 数据库四大特性
				1.最小单元 -原子性 称为不可再分割
					eg:必须由两条sql语句才能完成一次删除部门的操作;
				2.一致性	-数据改变之前和改变之后的状态一致
					eg:张三给李四转500元,两条sql,张三-500,李四+500.
				3.持久性   -数据修改完毕后,应该是一个持久状态存在数据库中,而不是临时状态;
					eg:张三给李四转10000,张三-10000,李四+10000,都对,但是过5分钟没了就违反了持久性
				4.隔离性	-当一个事务来占用某一个资源的时候,其余的事务只能进行等待,等待当前的事务释放对于当前资源的占用。	
					eg:微信支付宝ATM同时取一张银行卡里的钱,微信在取,别的就不能取了只能等待。
			* 如果在查询数据的时候,加了for update,这个就是为查询加上锁定事务,意思就是我操作完成后,别人才能操作当前锁定的数据。
			   eg:select * from dept for update;
			   只有commit以后,别人才能操作当前数据。
			   AOP是OOP的补充,OOP是AOP的基础,AOP维护了健壮性

–在进行CUD时,要么加不上,要么删不了还不报错,因为开着OpenSessionInView,如果关了延迟加载dept数量又加不上来了,所以处理办法是:新建了一个spring-aop.xml配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:tx=&#
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值