Mybatis获取当前sqlSession,Mybatis清空当前Session的缓存
2016-12-21 15:26
519 查看
SqlSessionUtils.getSqlSession(sqlSessionFactory);
SqlSessionUtils.getSqlSession(sqlSessionFactory).clearCache();
其中,sqlSessionFactory,是通过spring注入的。
需求情景:每次update时,都要记录更新了什么字段,由什么值更新为什么值。所以使用的是Aop,在@around方法中,joinPoint.proceed()之前,运用方法的反射查询下数据库得到objectOld;joinPoint.proceed()之后,再运用方法反射查询下数据库得到objectNew。但是,因为每次update之前都会get一个model,在此基础上修改然后再update。所以,有时候就会造成joinPoint.proceed()之前的查询数据库,不会去查询数据库,而是会直接在缓存里得到其值。但是缓存里的是不对的,因为这是需要update的model。故而,需要在joinPoint.proceed()之前的获取model之前,清空下当前sqlSession的缓存。
SqlSessionUtils.getSqlSession(sqlSessionFactory).clearCache();
相关文章推荐
- Hibernate获取当前Session,Hibernate清空当前Session的缓存
- 获取Java的MyBatis框架项目中的SqlSession的方法
- mybatis 缓存getSqlSession().selectList(getMapperNamesapce() + ".getList", e);
- mybatis使用之SqlSession获取
- Mybatis 单例获取SqlSessionFactory
- MyBatis整合Spring-->SqlSession获取
- mybatis中获取SqlSessionFactory的几种方法及其相关使用
- Mybatis + SqlServer 数据库操作insert 时获取当前主键值
- mybatis入门(一)-mybatis介绍和获取SqlSession
- Spring-mybatis整合 获取properties 创建SQLSessionFactory失败
- MyBatis 入门到精通(一) 了解MyBatis获取SqlSession .
- 1.1 封装获取当前站点HttpContent、AppDomain、HttpAppliction、Cathe、Session、Request和Response等对象的SiteUtility
- 在pb中获取当前网络中所存在的SQLServer实例名
- SQL当前日期获取技巧
- sql 获取当前月的第一天
- SQL当前日期获取技巧
- sql 获取当前日期
- Sql获取当前日期是星期几的代码总结
- MySQL如何获取当前执行的SQL
- [导入]SQL获取当前月份的天数