mybatis和ignite结合使用
来源:互联网 发布:centos vncserver 安装 编辑:程序博客网 时间:2024/06/06 00:15
在mybatis中,有一级缓存和二级缓存,其中二级缓存主要针对的一个namespace级别的缓存控制,按照mybatis的配置说明,只要按照规范实现org.apache.ibatis.cache.Cache,就可以作为二级缓存使用。
apache这些年还出了一个功能强大的缓存框架ignite,针对mybatis有一个缓存的实现类org.mybatis.caches.ignite.IgniteCacheAdapter,此类的maven位置如下:
<dependency>
<groupId>org.mybatis.caches</groupId>
<artifactId>mybatis-ignite</artifactId>
<version>1.0.5</version>
</dependency>
当然引入这个包之前,需要依赖spring配置,mybatis配置和ignite配置。
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>org.apache.ignite</groupId>
<artifactId>ignite-core</artifactId>
<version>${ignite.version}</version>
</dependency>
<dependency>
<groupId>org.apache.ignite</groupId>
<artifactId>ignite-spring</artifactId>
<version>${ignite.version}</version>
</dependency>
<dependency>
<groupId>org.apache.ignite</groupId>
<artifactId>ignite-indexing</artifactId>
<version>${ignite.version}</version>
</dependency>
其中:
<ignite.version>2.1.1</ignite.version>
spring配置略...
public IgniteCacheAdapter(String id) {
// id属性一般为mapper.xml文件的namespace,避免重复 if (id == null) throw new IllegalArgumentException("Cache instances require an ID"); CacheConfiguration cacheCfg = null; try { DefaultListableBeanFactory factory = new DefaultListableBeanFactory(); new XmlBeanDefinitionReader(factory).loadBeanDefinitions(new FileSystemResource(new File(CFG_PATH))); cacheCfg = (CacheConfiguration) factory.getBean("templateCacheCfg"); cacheCfg.setEvictionPolicy(null); cacheCfg.setCacheLoaderFactory(null); cacheCfg.setCacheWriterFactory(null); // overrides template cache name with the specified id.
// 针对每个namespace有一个cacheCfg,保证不同的表在不同的二级缓存实例中 cacheCfg.setName(id); } catch (NoSuchBeanDefinitionException | BeanDefinitionStoreException e) { // initializes the default cache. log.warn("Initializing the default cache. Consider properly configuring '" + CFG_PATH + "' instead."); cacheCfg = new CacheConfiguration(id); } cache = ignite.getOrCreateCache(cacheCfg); this.id = id; }
配置之后即可使用
- mybatis和ignite结合使用
- MyBatis L2 Cache ---ignite
- Spring和Mybatis结合
- Ignite使用小记
- Ignite 消息和事件
- mybatis-generator插件和TKmybatis的结合使用
- Ignite
- Mybatis、Maven、Spring、struts2结合使用详解
- MyBatis与Spring的结合使用
- mybatis结合分页的使用及解析.
- bootstrap-table与mybatis结合使用
- springmvc 结合使用mybatis 的问题汇总
- mybatis xml文件中传入参数和if结合使用时要注意的地方
- springboot和mybatis两个框架结合教程
- spring 和 mybatis 结合的mapper问题
- Ignite缓存管理 基础缓存使用教程
- ignite使用sql查询的问题
- HPUX ignite Golden Image 创建和恢复
- java数据类型
- 关于图灵测试和计算机情感建立
- PHP调用C函数简单例子
- android 使用ffmpeg音视频播放(二)
- mysql命令gruop by报错this is incompatible with sql_mode=only_full_group_by
- mybatis和ignite结合使用
- python argparse用法
- STM8 内部flash
- AndroidStudio快捷键Search/Replace
- $.ajax()方法详解
- Angular JS 面包屑
- Python学习笔记(一)数据类型
- Android 操作系统中的内存回收
- android解析json数组