Mybatis二级缓存的使用

Mybatis中二级缓存的使用

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.asiainfo.idsp.mapper.EventBankUserMapper">

  <cache flushInterval="86400000" readOnly="true"/> 

 <!-- 清空缓存 -->
  <select id="clearCache" resultType="java.lang.String" flushCache="true">
  select 1

  </select>

    //  关闭  <cache flushInterval="86400000" readOnly="false"/>
   // <select id="clearCache" resultType="java.lang.String" flushCache="true">
  //  select 1

   // </select>

  // 局部关闭二级缓存  <!-- 获取日期-->
    <select id="selectDay" parameterType="java.util.Map" useCache="false" resultType="java.lang.String">
       SELECT max(DAY_ID) from ST_BANK_USER_SCHOOL_DM_YMD where bank_id =  #{bankId}
    </select>

</mapper>

这种缓存的设置是对应整个mapper而言的;里面的每一个方法都会开启二级缓存

   二级缓存开启会导致一个问题,当第二次请求时,不会去查询数据库,会直接在缓存中去数据,如果此时对缓存的数据进行了增删改,那么多次请求后,会出现问题,例如:对list中的对象的name字段每次减一个长度,那么会出现请求多次后,name字段没有数据,直到为空报错

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值