﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-浪迹天涯-随笔分类-缓存处理</title><link>http://www.blogjava.net/senlin-blog/category/54369.html</link><description>web报表设计器....</description><language>zh-cn</language><lastBuildDate>Mon, 19 May 2014 08:16:14 GMT</lastBuildDate><pubDate>Mon, 19 May 2014 08:16:14 GMT</pubDate><ttl>60</ttl><item><title>Mybatis中配置OSCache缓存</title><link>http://www.blogjava.net/senlin-blog/archive/2014/05/17/413770.html</link><dc:creator>JJCEA</dc:creator><author>JJCEA</author><pubDate>Fri, 16 May 2014 16:50:00 GMT</pubDate><guid>http://www.blogjava.net/senlin-blog/archive/2014/05/17/413770.html</guid><wfw:comment>http://www.blogjava.net/senlin-blog/comments/413770.html</wfw:comment><comments>http://www.blogjava.net/senlin-blog/archive/2014/05/17/413770.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/senlin-blog/comments/commentRss/413770.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/senlin-blog/services/trackbacks/413770.html</trackback:ping><description><![CDATA[今天blogjava不知为何不提供代码样式编辑了，只能以文字形式描述，排版比较难看，大家就凑合着看吧

第一步：在mybatis官方网站上找到mybatis-oscache-1.0.0.jar下载，并加入到工程lib中；
第二步：在mapper.xml文件中的配置如下：
      <mapper namespace="com.wsx.assp.sys.commons.dao.SpecialTaskDao" >

          <!--缓存配置-->
          <cache  type="org.mybatis.caches.oscache.OSCache"/>
          <!--缓存配置日志-->
          < cache type="org.mybatis.caches.oscache.LoggingOSCache"/>

     </mapper>
第三步：oscache.properties将这个文件放在src目录下，oscache.properties文件可从官网下载，缓存策略设置请参考oscache对jsp全局和局部
         缓存配置

使用细节说明：

1.在不需要刷新缓存的方法中加 flushCache="false"
   <select id="queryByPage" resultMap="BaseResultMap" parameterType="java.util.Map"  flushCache="false">
 2.在需要刷新缓存的方法中加 flushCache="true"
   <delete id="deleteByPrimaryKey" parameterType="java.lang.String"   flushCache="true">
   <insert id="insertSelective" parameterType="com.wsx.assp.sys.commons.pojo.SpecialTask" flushCache="true">
   <update id="updateByPrimaryKeySelective" parameterType="com.wsx.assp.sys.commons.pojo.SpecialTask"flushCache="true">

3.在不需要启动缓存的方法中加入useCache="false"

  <select id="querySpecTaskWorkPlayByList" resultMap="BaseResultMap" parameterType="java.util.Map" useCache="false">

示例代码如下：

    <?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.wsx.assp.sys.commons.dao.SpecialTaskDao" >

<cache  type="org.mybatis.caches.oscache.OSCache"/>
<cache type="org.mybatis.caches.oscache.LoggingOSCache"/> 


  <resultMap id="BaseResultMap" type="com.wsx.assp.sys.commons.pojo.SpecialTask" >
    <id column="id" property="id" jdbcType="VARCHAR" />   
  </resultMap>

  <select id="queryByPage" resultMap="BaseResultMap" parameterType="java.util.Map" useCache="true" flushCache="false"> 
   .....
  </select> 

  <select id="querySpecTaskWorkPlayByList" resultMap="BaseResultMap" parameterType="java.util.Map" useCache="false">
    ....
  </select>   
  
  <delete id="deleteByPrimaryKey" parameterType="java.lang.String"   flushCache="true">
    .....
  </delete>
  <insert id="insert" parameterType="com.wsx.assp.sys.commons.pojo.SpecialTask"  flushCache="true">
    .....
  </insert>
  <update id="updateByPrimaryKey" parameterType="com.wsx.assp.sys.commons.pojo.SpecialTask" flushCache="true">
     ....
  </update>
</mapper><img src ="http://www.blogjava.net/senlin-blog/aggbug/413770.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/senlin-blog/" target="_blank">JJCEA</a> 2014-05-17 00:50 <a href="http://www.blogjava.net/senlin-blog/archive/2014/05/17/413770.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>