springboot+mybatis查询问题,第一次查询为null,第二次查询结果有值
1、原始代码
2、问题分析
mybatis的缓存机制:
Mybatis缓存机制是在执行一条查询SQL语句后,会将查询到的结果集以键值对的方式存储起来,等到下一次执行相同的查询SQL时,会先尝试从缓存中读取数据,如果从缓存中读取到了对应的结果,则直接返回;否则查询数据库,并且将查询到的结果放置在缓存中。
但是问题是第一次查询日志中没有打印执行的查询sql语句,结果返回也是null,第二次查询时,日志中打印了执行的查询语句sql,结果也是正确的,很显然,并不是mybatis的缓存机制引起的问题。