当前位置: 首页 > wzjs >正文

北京网站设计费用百度推广联盟

北京网站设计费用,百度推广联盟,做团购的网站,运城 网站制作问题: 这段代码count输出1,response输出null,为什么?已知查询条件匹配,数据库连接的同一个(测试环境),没有读写分离读(主库写,从库读,SHOW SLAVE STATUS)&am…

问题:

这段代码count输出1,response输出null,为什么?已知查询条件匹配,数据库连接的同一个(测试环境),没有读写分离读(主库写,从库读,SHOW SLAVE STATUS),不存在主从同步延迟问题。

SELECT @@transaction_isolation查出的事务隔离级别是READ-COMMITTED。

DefaultTransactionDefinition def = new DefaultTransactionDefinition();
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
TransactionStatus status = transactionManager.getTransaction(def);MyBean dto = new MyBean();
dto.setName("test");
Integer count = writeDao.insert(dto);
log.info(count);
MyBean response = readDao.selectByName("test");
log.info(response);transactionManager.commit(status);

解析:

在 READ-COMMITTED 隔离级别下,数据库的行为是:

  • 只能读取已提交的数据,防止脏读(读取未提交的数据)。

  • 在一个事务中,未提交的数据对当前事务的后续查询不可见,即使是同一个事务中的操作。

代码逻辑

  • 事务开始:transactionManager.getTransaction(def) 创建一个新事务(PROPAGATION_REQUIRED)。

  • 插入数据:writeDao.insert(dto) 执行插入操作,count 输出 1,说明插入成功。但此时数据尚未提交。

  • 查询数据:readDao.selectByName("test")执行查询。由于事务尚未提交,且隔离级别是 READ-COMMITTED,插入的数据对当前查询不可见,因此返回 null。

  • 提交事务:transactionManager.commit(status) 提交事务,插入的数据才对其他事务可见。

可能的原因:

1.在 READ-COMMITTED 隔离级别下,未提交的数据(即 insert 插入的数据)在事务提交之前不可见。因此,selectByName 查询不到刚插入的数据,返回 null 是符合预期的行为。 

解决:

(1) 在同一事务中直接查询(不依赖隔离级别)

如果必须在同一事务中查询,可以直接通过主键或插入后返回的自增 ID 查询记录,而不是依赖 selectByName 的逻辑。

 Long insertedId = dto.getId(); // 需确保 insert 方法返回 IDMyBean response = readDao.selectById(insertedId);

直接通过 ID 查询记录,可以绕过隔离级别的影响(因为同一事务中的插入操作对后续查询可见)

(2) 降低隔离级别(谨慎操作)

可以将隔离级别临时降低到 READ-UNCOMMITTED,这样未提交的数据对当前事务可见。但这会导致脏读问题(读取未提交的数据,如果事务回滚,读取的数据可能是错误的),不推荐在生产环境中使用。

设置隔离级别(MySQL 示例):

SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
http://www.dtcms.com/wzjs/44829.html

相关文章:

  • 大连制作网站公司上海好的seo公司
  • 建设促销网站前的市场分析搜索引擎优化到底是优化什么
  • 网站建设中心联系方式免费的舆情网站app
  • 建设诚信网站优化提升
  • 快速做网站软件外贸推广平台排名
  • 2345网址大全历史版本怎么样做seo
  • 银川网站建站自制网站 免费
  • 西安软件开发公司优化二十条
  • 凡科建设网站还用买服务器吗营销策略模板
  • 做犯法任务的网站百度的网站
  • 网站设计扁平化上海百度seo公司
  • 网站的广度郑州百度推广代理公司
  • 网站标题 关键词 描述之间的关系b2b平台营销
  • 东莞网站建设 烤活鱼seo网站优化软件
  • 福田网站建设seo信科旧版优化大师
  • 移动网站建设机构搜索引擎大全排名
  • 建公司网站哪家好网店怎么开
  • 家具网站建设案例百度信息流平台
  • 购物网站后台模板下载注册网站流程
  • 做网站好赚钱电商网站建设步骤
  • 深圳市有哪些公司seo排名系统源码
  • 网站开发看掉一些功能白云百度seo公司
  • 网站建设技术思维导图网络服务提供者收集和使用个人信息应当符合的条件有
  • 广西翔路建设有限责任公司网站武汉seo搜索引擎
  • 东明菏泽网站建设知乎营销推广
  • wordpress 网站模板成品人和精品人的区别在哪
  • 重庆品牌网站建设公司重庆森林经典台词截图
  • 旅游电子商务网站建设费用谷歌独立站
  • 赌博网站开发营销方式
  • 做化妆品的网站有哪些站长工具seo优化