mybatis二级缓存联表查询需要注意的问题
来源:互联网 发布:淘宝客在哪里找产品 编辑:程序博客网 时间:2024/06/04 21:25
1、在开启了mybatis二级缓存情况下,联表查询后,对表进行了update、delete、insert等操作后,再次联表查询可能会造成脏读;
假设有一条联表的sql,设定为A,在执行了A操作后,mybatis会将结果集存入缓存中,设定为A-cache,还有一条sql,设定为B,B的实际操作会影响了A的表内结果,但是由于B的操作只是更改了数据库内的值,没有更改到A-cache内的值,所以下次执行A操作的时候,结果就出现了脏读;
2、解决这样问题的方法
①不使用二级缓存;
②对于联表查询的sql,usecache设置成false;
③使用mybatis-enhanced-cache,这个具体没有尝试过,但是我看原有项目中,比如执行了某个insert后,配置一个观察者的联表查询,具体操作就是情况这个mapper下的select;
3、那么如果不是联表查询,还会存在脏读吗?
我进行了一下操作:
1、先select一下,然后手动去更改数据库,再次select发现还是上一次的值;
2、同样的,先select一下,然后再insert一下,在册select,发现这次取出来的值是正确的,说明insert操作,清空了select的值
阅读全文
0 0
- mybatis二级缓存联表查询需要注意的问题
- Mybatis 需要注意的问题
- Hibernate使用二级缓存时,createSQLQuery需要注意的问题
- Mybatis的二级缓存问题
- mybatis二级缓存注意点
- 在IDEA中编写mybatis,需要注意的问题
- Mybatis配置文件需要注意的
- 关于使用Mybatis逆向工程针对Oracle数据库表生成代码需要注意的问题
- 中时间数据查询需要注意的一个小问题
- iBatis下使用like查询,以及需要注意的问题
- 需要注意的问题
- 需要注意的问题
- ehcache作为Mybatis二级缓存的问题
- Teradata使用SELECT查询创建表时需要注意的问题
- oracle——06表查询中需要注意的一些问题
- oracle——06表查询中需要注意的一些问题
- 【JAVA-Mybatis】Mybatis二级缓存问题
- MyBatis--查询缓存--内置二级缓存
- 异常处理
- C语言求1000以内守形数
- gradle 参数配置监听
- Gradle构建脚本基础
- MAC下 nginx搭建https服务器
- mybatis二级缓存联表查询需要注意的问题
- 使用apache自带的ab压力测试工具测试网站性能
- 小团队能做大系统:Cloud_Native云原生架构实践
- ScrollViewOnTou顶部背景折叠的滚动页面
- 7、spring-boot日志管理
- 测试一下
- spark-sql-求补集
- Elicpse使用技巧-打开选中文件文件夹或者包的当前目录
- 6月1日《网络安全法》出台_让被攻击者投诉有门!