@Cacheable 拼接key的操作
我就废话不多说了,大家还是直接看代码吧~
@Cacheable(value = "page_user",key ="T(String).valueOf(#page).concat('-').concat(#pageSize)",unless = "#result=null")//由于page是int型,concat要求变量必须为String,所以强转一下 @Override public List<SysUserEntity> page(int page, int pageSize) { return userMapper.page(page,pageSize); }
补充:记一个spring缓存Cacheable注解key设置问题
spring的Cacheable注解用来设置缓存,其中的key属性为spel表达式,如果要设置常量,则需要用''包裹,如:
@Cacheable(value = CacheConstant.APPLICATION,key = "'id_map'")
此处的"'id_map'"代表key设置了一个常量,如果没有'',则会报错
org.springframework.expression.spel.SpelEvaluationException: EL1008E: Property or field 'lang_code_map' cannot be found on object of type 'org.springframework.cache.interceptor.CacheExpressionRootObject' - maybe not public or not valid?
意思为在缓存表达式根对象上找不到指定属性,说明如果不加'',则id_map作为属性解析
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
相关文章
MybatisPlus实现分页查询和动态SQL查询的示例代码
本文主要介绍了MybatisPlus实现分页查询和动态SQL查询的示例代码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2021-09-09Springboot使用Spring Data JPA实现数据库操作
Spring Data JPA 是 Spring 基于 Spring Data 框架、在JPA 规范的基础上开发的一个框架,使用 Spring Data JPA 可以极大地简化JPA 的写法,本章我们将详细介绍在Springboot中使用 Spring Data JPA 来实现对数据库的操作2021-06-06关于使用MyBatis简化JDBC开发和解决SQL语句警告的问题
这篇文章主要介绍了关于使用MyBatis简化JDBC开发和解决SQL语句警告的问题,如果idea和数据库没有建立链接,idea不识别表的信息,就会出现SQL语句的警告,需要的朋友可以参考下2023-05-05mybatis-plus如何修改日志只打印SQL语句不打印查询结果
这篇文章主要介绍了mybatis-plus如何修改日志只打印SQL语句不打印查询结果问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-06-06Spring RedisTemplate 批量获取值的2种方式小结
这篇文章主要介绍了Spring RedisTemplate 批量获取值的2种方式小结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-06-06
最新评论