Mybatis执行流程?是否支持延迟加载?延迟加载的底层原理?
1、MyBatis执行流程?
- 读取MyBatis配置文件
mybatis-config.xml。 - 构造会话工厂
SqlSessionFactory。 - 会话工厂创建
SqlSession对象。 - 操作数据库的接口,
Executor执行器。 Executor执行方法中的MappedStatement参数。- 输入参数映射。
- 输出结果映射。
2、Mybatis是否支持延迟加载?
MyBatis支持延迟加载,即在需要用到数据时才加载。可以通过配置文件中的
lazyLoadingEnabled配置启用或禁用延迟加载。 3、延迟加载的底层原理知道吗?
延迟加载的底层原理主要使用CGLIB动态代理实现:
- 使用CGLIB创建目标对象的代理对象。
- 调用目标方法时,如果发现是null值,则执行SQL查询。
- 获取数据后,设置属性值并继续查询目标方法。
你接受吗
浙公网安备 33010602011771号