springmvc mybatis 数据库是mysql 事务处理
我使用的框架是springmvcmybatis,数据库是mysql(表引擎是innodb)这样的情况下,我给增删改都添加了事务处理,那我的查询是否有必要加事务呢?@Tra...
我使用的框架是springmvc mybatis,数据库是mysql(表引擎是innodb) 这样的情况下,我给增删改都添加了事务处理,那我的查询是否有必要加事务呢?@Transactional(propagation = Propagation.NOT_SUPPORTED) 还是 @Transactional(propagation = Propagation.REQUIRED, readOnly = true) 有什么区别吗
展开
展开全部
在查询时,有时会出现一种“脏读”的现象,即你一次执行多条查询,但在查询过程中数据发生了修改。
比如说,你发送了两条SQL语句,完成部门和员工信息的检索,但在你检索出部门信息之后,有人更改了部门号这个数据,于是你可能一个员工都检索不出来。不启动事务的查询,数据库的更新会反映在你的查询结果之内,导致检索结果不正确。
启动事务的查询,在查询结束之前,数据库的更新不会影响到你的查询结果。
@Transactional(propagation = Propagation.REQUIRED, readOnly = true) 是一个只读事务,可以加快事务的处理速度。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询