0
点赞
收藏
分享

微信扫一扫

禁用mapper中某个方法使用缓存


配置sql映射文件

<?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">
<!--
namespace:命名空间,它的作用就是对SQL进行分类化管理,可以理解为SQL隔离
注意:使用mapper代理开发时,namespace有特殊且重要的作用
-->

<mapper namespace="edu.ccit.cn.mapper.UserMapper">
<!--
Mybatis默认使用perpetualCache缓存对象 使用二级缓存需要实现cache接口,
perpetualCache继承了接口
-->
<cache type="org.mybatis.caches.ehcache.EhcacheCache"></cache>
<select id="findUserById" resultType="User">
select * from user where id=#{?}
</select>
<select id="findUsers" resultType="User" useCache="false" >
select * from user
</select>
</mapper>

禁用mapper中某个方法使用缓存_sql

测试

@Test
public void method03_Level2Cache(){
SqlSession sqlSession = ssf.openSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List<User> users1 = mapper.findUsers();
System.out.println(users1);
sqlSession.close();

SqlSession sqlSession1 = ssf.openSession();
UserMapper mapper1 = sqlSession1.getMapper(UserMapper.class);
List<User> users = mapper1.findUsers();
System.out.println(users);
sqlSession1.close();
}

禁用mapper中某个方法使用缓存_sql_02


举报

相关推荐

0 条评论