java - mybatis 插入一条数据时,数据库没能找到这条数据,但是程序却可以查询出这条数据

 曾经沧海难为水文杰59552066 发布于 2022-10-27 21:41

用mybatis向mysql数据库插入一条数据后,然后查询出来。数据库里没有这条数据,但是程序通过查询语句却能查到这条数据

程序显示结果:

但是数据库就没能找到这条数据

6 个回答
  • 妥妥的事务问题。哥们事务提交了就能看到了。

    2022-10-29 04:18 回答
  • 只能说明,事务没提交罢了

    2022-10-29 04:18 回答
  • 我觉得是没有commit进去

    2022-10-29 04:19 回答
  • 程序可能使用了缓存机制,你插入的数据可能在缓存中,还没有到数据库,你百度搜搜数据库缓存

    2022-10-29 04:21 回答
  • 你的图:

    会不会是你事务的原因?因为你插入了以后立马就查询了,事务还没提交?

    2022-10-29 04:29 回答
  • 压根就不是缓存,既不是数据库,也不是mybatis。

    数据库很好理解,你没有commit的数据只有在你当前的transaction中可以查到,其他客户端是查不到的,如果查到了岂不是脏读了吗?

    mybatis的缓存很简单,默认insert,delete,update都会清空缓存,只有在select的时候才会在缓存里放东西。

    所以答案很明显了,就是你auto commit关闭的问题,没有把更新操作commit到数据库,所以只能在你自己这里查到,你开个客户端却查不到

    2022-10-29 04:31 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有