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