延迟加载就是说,在需要用到数据的时候才就行加载,不需要用到数据的时候就不加载。
mybatis支持一对一关联对象和一对多关联集合对象的延迟加载。
我们可以在Mybatis配置文件中选择是否启用延迟加载,lazyLoadingEnable=true/fals,默认是关闭的。
其原理就是使用cglib创建目标对象的代理对象。
当目标方法被调用时,进入拦截器invoke方法,发现目标方法是null,执行sql查询。
获取数据后,调用set方法设置属性值,再继续查询目标方法后,值就有了。
延迟加载就是说,在需要用到数据的时候才就行加载,不需要用到数据的时候就不加载。
mybatis支持一对一关联对象和一对多关联集合对象的延迟加载。
我们可以在Mybatis配置文件中选择是否启用延迟加载,lazyLoadingEnable=true/fals,默认是关闭的。
其原理就是使用cglib创建目标对象的代理对象。
当目标方法被调用时,进入拦截器invoke方法,发现目标方法是null,执行sql查询。
获取数据后,调用set方法设置属性值,再继续查询目标方法后,值就有了。