1.mybatis一级缓存:
由于频繁的调用数据库就会导致项目性能的低下,mybatis默认是开启缓存的,每一次调用数据库会将一个statement存在缓存中,下次再次查询时,就会再次找缓存中的statement如果有就返回,如果没有就会再次调用数据库。
xm中每一个sql标签就相当于一个statement。
所以缓存是同一个sql标签,并且是同同一个sqlsession
2.mybatis二级缓存:
当在mapperxml设置cache标签readOnly属性设置为true那么,范围就可以改成factory范围内了。
并且,只有当sqlsession关闭的时候才能加载到二级缓存中
网友评论