记一次 mybatis 一级缓存导致数据查询错误的坑


文章探讨了 Mybatis 在一级缓存处理中的问题。相同查询条件下,Mybatis 的 selectOne 和 selectList 方法产生了不同的结果,是因为 selectOne 使用了自定义 resultHandler,影响了缓存。文章分析了源码并给出了两种解决方案:一是在 selectList 查询时添加额外条件规避缓存,二是统一使用 selectList 方法以避免问题。

Mybatis源码分析之多级缓存


本文详细介绍了MyBatis的缓存机制,包括一级缓存和二级缓存的概念、开启方式、失效时机及注意事项,并通过源码分析解释了缓存的工作原理和使用中的一些问题,建议在生产环境中谨慎使用二级缓存。