无法在mybatis mapper注解中创建hazelcast缓存
Unable to create hazelcast cache in mybatis mapper annotation
我设计了数据访问对象 mybatis 映射器来从 Mysql 数据库中读取只读数据。
@Mapper
public interface XYZMapper {
@Select("SELECT TYPES FROM abc WHERE STORE_ID = #{storeId} and CUSTOMER_ID = #{customerId}")
public String getDisabledSubscriptions(@Param("storeId") int storeId, @Param("customerId") int customerId);
@Select("SELECT TYPES as messageTypes, NAME as eventName FROM abc WHERE STORE_ID = #{storeId}")
public EventSubscription getEventAllSubscriptions(@Param("storeId") int storeId);
http://mybatis.org/hazelcast-cache/
以上 link 给出了使用 hazelcast 进行缓存的解决方案。这在我们将 mapper 配置为 xml 文件时使用。我们如何使用注释映射器
将上述每个查询缓存为二级缓存
按照以下步骤解决了问题
a) @EnableCaching 与 SpringBootApplication 类
b) 在映射器中定义的每个数据库方法中添加 @Cacheable ("abc")(您想要缓存)
c) 在
的资源文件夹中定义 hazelcast.yml
淡褐色:
网络:
加入:
多播:
启用:真
我设计了数据访问对象 mybatis 映射器来从 Mysql 数据库中读取只读数据。
@Mapper
public interface XYZMapper {
@Select("SELECT TYPES FROM abc WHERE STORE_ID = #{storeId} and CUSTOMER_ID = #{customerId}")
public String getDisabledSubscriptions(@Param("storeId") int storeId, @Param("customerId") int customerId);
@Select("SELECT TYPES as messageTypes, NAME as eventName FROM abc WHERE STORE_ID = #{storeId}")
public EventSubscription getEventAllSubscriptions(@Param("storeId") int storeId);
http://mybatis.org/hazelcast-cache/
以上 link 给出了使用 hazelcast 进行缓存的解决方案。这在我们将 mapper 配置为 xml 文件时使用。我们如何使用注释映射器
将上述每个查询缓存为二级缓存按照以下步骤解决了问题
a) @EnableCaching 与 SpringBootApplication 类
b) 在映射器中定义的每个数据库方法中添加 @Cacheable ("abc")(您想要缓存)
c) 在
的资源文件夹中定义 hazelcast.yml淡褐色: 网络: 加入: 多播: 启用:真