用mybatis向mysql数据库插入一条数据后,然后查询出来。数据库里没有这条数据,但是程序通过查询语句却能查到这条数据
程序显示结果:
但是数据库就没能找到这条数据
大家讲道理2017-04-18 09:54:06
壓根就不是緩存,既不是資料庫,也不是mybatis。
資料庫很好理解,你沒有commit的資料只有在你目前的transaction中可以查到,其他客戶端是查不到的,如果查到了豈不是髒讀了嗎?
mybatis的快取很簡單,預設insert,delete,update都會清空緩存,只有在select的時候才會在快取裡放東西。
所以答案很明顯了,就是你auto commit關閉的問題,沒有把更新操作commit到資料庫,所以只能在你自己這裡查到,你開個客戶端卻查不到