當(dāng)使用
mybatis存數(shù)據(jù)到mysql時(shí),如果事務(wù)并沒有提交,剛發(fā)送insert語(yǔ)句后立馬接著一句select,會(huì)發(fā)現(xiàn)剛插入的那條數(shù)據(jù)能查出來(lái),但是數(shù)據(jù)庫(kù)并沒有存在這條數(shù)據(jù)。
可能的原因:
: mybatis一級(jí)緩存,由于并沒有提交事務(wù),導(dǎo)致mybatis緩存并沒有被清空,所以查詢的時(shí)候從緩存中查出了數(shù)據(jù)
: mysql數(shù)據(jù)庫(kù)的session會(huì)話,mysql自己的會(huì)話緩存,別人連接數(shù)據(jù)庫(kù)是查詢不到的,但是插入數(shù)據(jù)的那一次會(huì)話能查詢到
最終的原因:
: 只是因?yàn)槭聞?wù)沒有提交,只能當(dāng)時(shí)insert的時(shí)候緊接著select才能查詢到,并不是存在于緩存中,因?yàn)椴⒉皇遣樵冋Z(yǔ)句,所以不會(huì)緩存數(shù)據(jù)。