mybatis缓存与数据实时更新

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Haitao0823/article/details/74518209

####第一种方式:刷新缓存(就是清空缓存)在mapper的同一个namespace中,如果有其它insert、update、delete操作数据后需要刷新缓存,如果不执行刷新缓存会出现脏读,每次查询都需要清除缓存,设置statement配置中的flushCache=“true” 属性,默认情况下为true即刷新缓存,如果改成false则不会刷新。使用缓存时如果手动修改数据库表中的查询数据会出现脏读。

<select id="getUser" resultMap="UserResultMap" flushCache="true"> <![CDATA[ select * from user where email = #{email} and password = #{password} ]]> </select>

####第二种方式:在controller层中,每一个controller下的类的头加一个注解(@Scope(“prototype”)每次的请求都会产生一个新的对象 )
这里写图片描述

猜你喜欢

转载自blog.csdn.net/Haitao0823/article/details/74518209
今日推荐