在 MyBatis 中,刪除操作會導致緩存中的相應數據失效,但并不會立刻清除緩存中的數據。如果希望在執行刪除操作后立即清除緩存,可以使用以下兩種方法:
SqlSession
的 clearCache()
方法來手動清除緩存中的數據。例如:sqlSession.clearCache();
flushCache
選項為 true
:在執行刪除操作時,可以在對應的 <delete>
標簽中設置 flushCache
屬性為 true
,這樣就會在執行刪除操作后立即清除緩存。例如:<delete id="deleteUser" parameterType="int" flushCache="true">
DELETE FROM users WHERE id = #{id}
</delete>
通過以上兩種方法,可以在執行刪除操作后立即清除緩存中的數據,確保緩存的數據與數據庫中的數據保持一致。