mybatis中的一级缓存和二级缓存

一级缓存

一级缓存在mabatis中是默认开启的,也可以在sqlconfig.xml文件中的<setting>标签下关闭。一级缓存是作用于sqlsession域的,即同一个session在查找同一数据的时候,会先从内存中的一级缓存数据结构(HashMap)中查找该数据,如果有,会直接读取缓存中的数据,这样降低了对数据库的压力。

二级缓存

二级缓存默认关闭,可以通过全局配置开启。二级缓存是namespace级别的,同一namespace下的session(即是不是同一个),在查找相同的数据时,也是共享缓存区的。

mybatis中的一级缓存和二级缓存