`
y806839048
  • 浏览: 1107950 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

spring清空缓存标签

阅读更多

 spring清空缓存标签;

 

 http://sishuok.com/forum/blogPost/list/7952.html

 

 

@CacheEvict:主要对方法配置,用来标记要清空缓存的方法,当这个方法被调用并满足一定条件后,即会清空缓存。

value:缓存的位置,不能为空。

key:缓存的key,默认为空。

condition:触发的条件,只有满足条件的情况才会清楚缓存,默认为空,支持SpEL。

allEntries:true表示清除value中的全部缓存,默认为false。(有这个就不用指定key,一个value是存多个key的地点)

 

@CacheEvict(value = "user", allEntries = true)

 

 用缓存标签的时候需要在调用更新的方法的时候,更新缓存 

 

        @Override

 @Cacheable(value="getRoleLimt",key="'getRoleLimt='+#o.roleid")

public List<OpmRolelimit> getRoleLimt(OpmRolelimit o) {

// TODO Auto-generated method stub

return opmRolelimitMapper.select(o);

}

 

 

 

        @Override

@Transactional(rollbackFor=Exception.class)

    @CacheEvict(value="getRoleLimt", allEntries = true)

public int updateRole(OpmRole opmRole,List<String> list) throws Exception {

// TODO Auto-generated method stub

System.out.println("==========================213213213===================");

if("".equals(opmRole.getOrganid())||null==opmRole.getOrganid()){

throw new Exception("传入参数为空!");

}

TbCusMark tbCusMark = new TbCusMark();

   tbCusMark.setMarketKey(BigDecimal.valueOf(Long.valueOf(opmRole.getOrganid())));

   TbCusMark mark= tbCusMarkMapper.selectOne(tbCusMark);

   if(mark==null){

   throw new Exception("交易市场找不到!");

   }

OpmRole role =new OpmRole();

if(opmRole.getId()==null||"".equals(opmRole.getId())){

role.setOrganid(opmRole.getOrganid());

role.setLevel1(Short.valueOf("0"));

role.setName(opmRole.getName());

role.setMemo(opmRole.getMemo());

opmRoleMapper.insert(role);

}else{

OpmRolelimit opmRolelimit = new OpmRolelimit();

opmRolelimit.setRoleid(opmRole.getId());

   opmRolelimitMapper.delete(opmRolelimit);

   opmRoleMapper.updateByPrimaryKeySelective(opmRole);

}

OpmMenuitemlimit opmMenuitemlimit = new OpmMenuitemlimit();

List<OpmMenuitemlimit> opmLimits= opmMenuitemlimitMapper.select(opmMenuitemlimit);

OpmMenuitem item = new OpmMenuitem();

List<OpmMenuitem> items= opmMenuitemMapper.select(item);

try{

 

for(String l :list){

OpmRolelimit opmLimt = new OpmRolelimit();

int up=0;

for(OpmMenuitem i: items){

if(i.getId().equals(l)){

opmLimt.setMenuitemid(i.getId());

opmLimt.setDisplayorder(-1L);

opmLimt.setName("查看");

 

if(opmRole.getId()==null||"".equals(opmRole.getId())){

   opmLimt.setRoleid(role.getId());

   up= opmRolelimitMapper.insert(opmLimt);

}else{

opmLimt.setRoleid(opmRole.getId());

   up= opmRolelimitMapper.insert(opmLimt);

}

break;

}

}

if(up==0){

for(OpmMenuitemlimit lm : opmLimits){

if(lm.getId().equals(l)){

opmLimt.setMenuitemid(lm.getMenuitemid());

opmLimt.setDisplayorder(lm.getDisplayorder());

opmLimt.setName(lm.getName());

opmLimt.setMenuitemlimitid(lm.getId());

opmLimt.setDisplayorder(lm.getDisplayorder());

opmLimt.setName(lm.getName());

String org= opmRole.getOrganid();

                         if(opmRole.getId()==null||"".equals(opmRole.getId())){

                        opmLimt.setRoleid(role.getId());

  up= opmRolelimitMapper.insert(opmLimt);

}else{

opmLimt.setRoleid(opmRole.getId());

   opmRolelimitMapper.insert(opmLimt);

}

break;

}

 }

}

}

}catch(Exception e){

 

throw new Exception("保存角色异常!");

}

return  1;

}

 

0
0
分享到:
评论

相关推荐

    springCache

    2. **命名空间配置**:在 Spring 配置文件中,可以通过 `&lt;cache:annotation-driven&gt;` 标签启用注解驱动的缓存支持,并配置默认的缓存管理器。 3. **缓存管理器**:缓存管理器是 Spring Cache 的核心,负责创建和...

    深入理解MyBatis中的一级缓存与二级缓存

    但是,当SqlSession执行commit,即增删改操作时会清空缓存,这是为了避免脏读。 二级缓存 二级缓存是mapper级别的缓存。它是跨SqlSession的,可以被多个SqlSession共用。二级缓存的作用范围更大,可以被多个...

    SSM笔记-缓存

    在文件"Mybatis_8_Cache"中,可能包含了关于如何配置和测试Mybatis缓存的具体步骤,包括XML配置、Mapper接口及XML文件中的缓存标签使用、测试用例的编写等内容。通过实践这些步骤,你可以深入了解Mybatis缓存的工作...

    基于springboot农产品商城系统 毕业设计

    此外,“spring”标签进一步强调了Spring框架在这个项目中的核心作用,包括Spring MVC(用于处理HTTP请求)和Spring Data JPA(用于简化数据库操作)。 【文件名称列表】中的“商城”可能是指项目中的核心模块或...

    Intellij IDEA实现springboot热部署过程解析

    这通常可以通过清空缓存或在开发者工具中选择“禁用缓存”模式来实现。 完成上述步骤后,你的SpringBoot应用就已经配置好热部署了。现在,当你修改代码并保存时,应用会自动重启并应用更改,大大提高开发效率。记住...

    java项目应用中自定义sql在ibaits框架中的使用.docx

    通过查阅文档,找到了配置选项来控制是否使用缓存,例如`&lt;resultMap&gt;`标签的`cache`属性可以关闭特定映射的缓存,或者使用`&lt;select&gt;`标签的`flushCache="true"`属性,强制每次执行后清空缓存。 总结来说,自定义SQL...

    MyBatis学习笔记.zip

    - **缓存的刷新与清空**:介绍何时以及如何刷新和清除缓存,以确保数据的一致性。 - **缓存的优化策略**:讨论在实际项目中如何合理设置缓存策略,以提高性能。 **MyBatis_day4:高级特性** - **MyBatis的参数映射*...

    mybatis 中文文档

    7. **缓存机制**:MyBatis 内置了两级缓存,一级缓存是 SqlSession 级别的,二级缓存可以跨 SqlSession 共享数据,通过配置可以实现缓存的启用、失效策略和清空。 8. **插件机制**:MyBatis 提供了拦截器插件,允许...

    mybatis高级映射

    - **管理机制**: 默认开启,可手动清空。 **3.2 二级缓存** - **定义**: 二级缓存是指 Mapper 级别的缓存,不同 SqlSession 之间可以共享。 - **配置**: 在映射文件中加入 `&lt;cache&gt;` 标签。 - **使用限制**: 需要...

    修改ibatis不用重启的方法

    在MyBatis的配置文件中,可以添加`&lt;settings&gt;`标签,其中包含`&lt;setting name="lazyLoadingEnabled" value="false"/&gt;`和`&lt;setting name="cacheEnabled" value="false"/&gt;`,这样能确保每次数据更改后缓存都会被清空。...

    MyBatis练习

    默认情况下,每个SqlSession都有自己的本地缓存,关闭SqlSession时缓存会被清空。二级缓存则可以跨SqlSession共享数据,需要在Mapper配置中开启。 9. **事务管理**:MyBatis的SqlSession提供了事务管理,可以通过`...

    Ibatis开发指南

    6. **缓存机制**:Ibatis的缓存功能可以提高查询性能,书中有详尽的介绍,包括一级缓存、二级缓存的配置和使用,以及缓存的清空和更新策略。 7. **事务管理**:Ibatis提供了自动和手动的事务控制,书中会讲解如何...

    java系统网上书店

    5. **购物车功能**:购物车模块使用session技术,用户选择的书籍会被暂存到服务器端的session中,直到用户决定购买或清空购物车。 6. **支付接口集成**:为了处理在线支付,系统需要与第三方支付平台(如支付宝、...

    IDEA2020.1启动SpringBoot项目出现java程序包:xxx不存在

    - 在IDEA中,尝试点击菜单栏的`File` &gt; `Invalidate Caches / Restart`来清空IDE的缓存并重启IDE。这有助于解决因缓存错误导致的问题。 4. **更新或同步依赖**: - 对于Maven项目,点击`Maven`菜单,然后选择`Re...

    java struts

    7. **Struts1与Spring集成**:尽管Struts1提供了自己的依赖注入机制,但与Spring框架集成可以更好地管理和控制对象的生命周期,以及实现AOP(面向切面编程)功能。 总之,Java Struts1作为早期的Web开发框架,虽然...

    通用型_网上书店开发与设计.doc

    4. **后端技术**:后端开发可能涉及Java、Python、Node.js等服务器端语言,搭配Spring Boot、Django或Express等框架,实现RESTful API接口,与前端进行数据交互。 5. **数据库设计**:MySQL、PostgreSQL等关系型...

    购物车的代码

    5. **Servlet与Controller**:在更复杂的应用架构中,如MVC(Model-View-Controller)模式,购物车的操作可能由后台的Servlet或Spring MVC的Controller处理,它们负责接收HTTP请求,调用业务逻辑(JavaBean),更新...

    Tomcat无法加载css和js等静态资源文件的解决思路

    3. **缓存问题**:浏览器缓存可能导致旧版本的静态资源被加载,尝试清空浏览器缓存或使用隐私模式重新访问。 4. **Web应用上下文路径**:确保在URL中包含了正确的Web应用上下文路径。例如,如果应用部署在`/myapp`...

    java面试题实践收集及答案详解

    - **缓存策略**:使用缓存机制减少对数据库的频繁访问。 - **数据库设计**:良好的表结构设计可以减少不必要的查询。 ##### 4. Servlet的作用域有哪些? - **request**:每次HTTP请求都会创建一个request作用域...

Global site tag (gtag.js) - Google Analytics