
mybatis 版本:3.2.7/3.2.8
剛開始登錄查詢時是走的資料庫,但是到后面,回傳的資料全是之前的查詢資料,查資料說把快取關閉,但是沒效果。
還有一個執行緒是專門在定時查詢資料庫中資料的,也出現類似情況,但是每次獲取新的sqlsession查詢資料可以獲取資料庫的資料,如果用一個sqlsession則不會走資料庫,全是快取的資料。
------------------------------------------
mapper上加注解沒用
@Options(flushCache = true )
List<User> selectByExample(UserExample example);
xml檔案加 flushCache="true" 也沒用
<select id="selectByExample" resultMap="BaseResultMap" flushCache="true" parameterType="com.coopll.springmvc.pojo.UserExample" >
select
<if test="distinct" >
distinct
</if>
<include refid="Base_Column_List" />
from user
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null" >
order by ${orderByClause}
</if>
</select>
uj5u.com熱心網友回復:
有個最下下策的方法就是每次改變執行的SQL,快取的機制是每次先檢查執行是否相同,如果相同則在快取中獲取;還有就是可以試試釋放快取,每次執行完成后釋放uj5u.com熱心網友回復:
finduserbyuser里面的代碼發出來uj5u.com熱心網友回復:


這是service層的代碼和UserMapper.xml的代碼
uj5u.com熱心網友回復:

這是findUserByUser的代碼
uj5u.com熱心網友回復:

可能你說的是這個吧!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/264961.html
標籤:Web 開發
