mybatis 里 select 方法默认会使用缓存,即,如果逻辑 sql 的入参不变,则会走缓存。
所以对于只有表名 tableName 变(用于 sharding)的情况下,需要修改 xml 文件:flushCache = true,来真正触发查询。
比如这次做的,遍历一个用户最近几天的核算流水表,clientNo 不变,只变真实表名的情况。
参考:
- mybatis – MyBatis 3 | Mapper XML Files
- MyBatis详解 - 二级缓存实现机制 | Java 全栈知识体系