mybatis如何指定ehcache缓存?

mybatis如何指定ehcache缓存?

混吃等死 发布于 2021-11-24 字数 106 浏览 671 回复 11

不想使用defaultCache , 我在ehcache.xml配置了多个中缓存方案 , mybatis的配置文件中如何指定这些方案呢?

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(11

怎言笑 2021-12-01 11 楼

public EhcacheCache(final String id) {

        if (id == null) {

            throw new IllegalArgumentException("Cache instances require an ID");

        }

        this.id = id;

        if (!CACHE_MANAGER.cacheExists(this.id)) {

            CACHE_MANAGER.addCache(this.id);

        }

    }

mybatis在构建cache的时候会去查询manager里是否已经存在的,这里配置和namespace一致就可以,因为mybatis默认建立的cache的名字就是namespace,所以楼主的回答是正确的,学习啦。

偏爱自由 2021-12-01 10 楼

我用的是注解的方式,mybatis用的是自动实现接口的方式,在接口上使用注解,如: @Cacheable( cacheName ="allCache" ) public List<Area> getArea( Area area );

静谧 2021-12-01 9 楼

你用的是什么方式?ehcache-spring-annotations?我用了这个不起作用,mybatis-ehcache 走了缓存,但是没有数据,很是奇怪

我如何取得缓存中的数据呢?

清风夜微凉 2021-12-01 7 楼

你想做什么?

德意的啸 2021-12-01 6 楼

r反正 我报错了,,

能否归途做我良人 2021-12-01 5 楼

我没搞明白 写的是什么,

归属感 2021-12-01 4 楼

mybatis的官方文档只说了自己缓存的配置和接口, mybatis-ehcache的官方文档用的是defaultCache 我就是找不到了才上来问的啊

甜柠檬 2021-12-01 3 楼

官方文档里面写得很清楚,自己找找吧,兄弟。

奈何桥上唱咆哮 2021-11-30 2 楼

可不可以具体些,我遇到此问题

蓝颜夕 2021-11-25 1 楼

还是我自己回答吧 ,  

首先在ehcache.xml设置 <cache name="zzugxy" ...>

然后在mybatis中设置<mapper namespace="com.amar.db.ibatis.dao.AreaDAO">

namespace和name相等,就指定了该缓存方案