这里只会告诉你面试怎么回答,如果你不懂的话,那么这篇文章可能不适合你看
加载机制:
立即加载(饥饿加载)
延时加载(懒加载)
回答:
如果说一个数据库中有两个表是有关系的,在java中一个表对应一个java对象,如果表A有个外键是B的话,那么在java中A这个bean对象中会依赖表B这个在java中对应的这个java对象,如果是立即加载的话,如果查询的表A,那么它会把表B的数据给查询出来,如果是懒加载的话,只有当你真正的用到了这个对象B的时候才会去数据库中查询这个表B的数据
缓存机制:
一级缓存:session级别、
二级缓存:mapper映射器级别
Mybatis默认情况下一级缓存是自动开启的,但是二级缓存需要自己开启,当执行一条查询的Sql语句时会先去一级缓存中取,取不到再去二级缓存(二级缓存开启的情况下)如果还没有就会执行这条Sql语句查询数据,如果某个对象要开启二级缓存,那么这个与数据库表对应的java对象必须实现序列化接口,