Mybatis执行流程?是否支持延迟加载?延迟加载的底层原理?

1、MyBatis执行流程?

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

posted on 2025-11-06 10:19  黑子菜园  阅读(6)  评论(0)    收藏  举报

导航