mybatis對快取提供支援,但是在沒有配置的預設的情況下,它只開啟一級快取(一級快取只是相對同乙個sqlsession而言)。在使用同乙個sqlsession和同一條sql在快取資料沒有超時和重新整理的情況下,第二次執行同一條sql時直接可以到快取中拿資料。也就是說一級快取只在sqlsession級別,但是各各sqlsession是隔離的所以,其它新的sqlsession無法共享這個快取。
二級快取可以克服一級快取無法共享快取的問題。
二級快取存在於sqlsessionfactory上,而sqlsession在sqlsessionfactory下所以一級快取(sqlsession)可以共享二級快取(sqlsessionfactory)的快取資料。而sqlsessionfactory層面上的二級快取是不開啟的,實現二級快取mabatis需要pojo必須實現serializable介面。
開啟二級快取、一級快取預設開啟的
mybatis 快取(一級和二級快取)
1.快取 好處 快取的使用演示 1 sql語句或查詢條件不同 2 分屬不同sqlsession物件 3 查詢前執行clearcache 4 提交事務 2.一級快取 3.二級快取 跟 web應用中 物件作用範圍類似。cacheenabled value true flushinterval 快取重新整...
Mybatis 一級快取和二級快取
一級快取是sqlsession級別的快取 工作機制 乙個sqlsession就代表和資料庫的一次會話,在資料庫中查出的資料放在一級快取中,同乙個物件再次查詢時,會去快取中查詢,避免了再次查詢資料庫。使用 mybatis預設開啟,不需要手動設定 舉例 同乙個物件,查詢兩次,只呼叫一次sql 注 所有測...
mybatis 快取(一級和二級快取)
1.快取 好處 快取的使用演示 1 sql語句或查詢條件不同 2 分屬不同sqlsession物件 3 查詢前執行clearcache 4 提交事務 2.一級快取 3.二級快取 flushinterval 快取重新整理時間間隔,時間是毫秒,檢查是否存在過期物件 size 快取中儲存的物件個數 rea...