猿问

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

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

程序显示结果:
https://img2.mukewang.com/5cbfcba800010bc408000263.jpg

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

https://img4.mukewang.com/5cbfcbab00016d2305080250.jpg

料青山看我应如是
浏览 3669回答 4
4回答

米琪卡哇伊

压根就不是缓存,既不是数据库,也不是mybatis。数据库很好理解,你没有commit的数据只有在你当前的transaction中可以查到,其他客户端是查不到的,如果查到了岂不是脏读了吗?mybatis的缓存很简单,默认insert,delete,update都会清空缓存,只有在select的时候才会在缓存里放东西。所以答案很明显了,就是你auto commit关闭的问题,没有把更新操作commit到数据库,所以只能在你自己这里查到,你开个客户端却查不到

陪伴而非守候

只能说明,事务没提交罢了
随时随地看视频慕课网APP

相关分类

Java
我要回答