今天对象在学习 Mybatis 时发现 org.apache.ibatis.session.SqlSession 对象的 clearCache() 方法并不能清理一级缓存, 同一 session 下相同查询条件返回的结果还是旧值。测试代码如下 上网搜索 网上搜索找到了相同问题, 并没有人解答。例如: https://www.iqismart.com/topi... 查看官方文档 http://www.mybatis.org/mybati... SqlSession 实例有一个本地缓存在执行 update,commit,rollback 和 close 时被清理。要明确地关闭它(获取打算做更多的工作) ,你可以调用 clearCache()。 看起来, 没什么问题, 方法也没有被标记成废弃. 打印详细日志 先把日志配上, 看看有没有打印什么有用的信息, 添加 slf4j、logback 依赖,添加 logback.xml , 日志级别设置为 DEBUG 运行后未看到跟清理缓存有关的信息, 调整日志级别为 TRACE 后依旧没有. < configuration> < contextName>mybatis </ contextName> < appender name= "stdout" class= "ch.qos.logback.core.ConsoleAppender"> <