源码架构与核心原理专题测试
考察知识点
- SqlSessionFactory 构建流程:Configuration 解析、Builder 模式应用
- Executor 执行器体系:SimpleExecutor、ReuseExecutor、BatchExecutor 的区别与实现
- StatementHandler 语句处理:RoutingStatementHandler 路由分发、预处理语句构建
- ResultSetHandler 结果处理:自动映射、嵌套结果处理、TypeHandler 应用
- SqlSession 生命周期:创建、使用、关闭的资源管理
- 插件机制:Interceptor 链、四大对象的拦截点
- 缓存架构:一级缓存、二级缓存的执行流程
在 MyBatis 源码中,SqlSessionFactoryBuilder.build() 方法最终创建的 SqlSessionFactory 默认实现类是哪一个?
在 MyBatis 的 SqlSessionFactory 构建流程中,XMLConfigBuilder.parseConfiguration() 方法会依次解析以下哪些配置节点?(多选)
在 XMLConfigBuilder 构建 Configuration 对象时,使用 ___________ 解析 XML 配置文件,通过 __________________ 方法按顺序读取所有配置节点,最终调用 build() 方法返回 Configuration 对象。
关于 SqlSession 的生命周期,以下说法正确的是?
SqlSessionFactory.openSession() 方法在创建 SqlSession 时,会完成以下哪些操作?(多选)
调用 SqlSession.close() 方法时,会同时关闭底层的数据库连接和回滚未提交的事务。
在 MyBatis 的三种基本 Executor 中,哪种执行器会缓存 PreparedStatement 对象,适用于频繁执行相同 SQL 的场景?
BaseExecutor 作为 Executor 的抽象基类,实现了以下哪些核心方法?(多选)
请简述 CachingExecutor 的工作机制,以及它如何实现二级缓存功能。
在 MyBatis 中,当 SQL 语句包含 ${} 占位符时,会使用哪种 StatementHandler 实现?
关于 RoutingStatementHandler,以下说法正确的有哪些?(多选)
MyBatis 中 ParameterHandler 接口的默认实现类是哪一个?
DefaultParameterHandler.setParameters() 方法中,通过 ___________________ 获取对应的 TypeHandler,然后调用 ___________________ 方法将 Java 对象设置到 PreparedStatement 的指定位置。
MyBatis 中负责将 ResultSet 结果集映射为 Java 对象列表的组件是?
DefaultResultSetHandler 处理结果集映射时,支持以下哪些映射方式?(多选)
当 ResultMap 中未定义 result 映射时,MyBatis 会自动根据列名与属性名的对应关系进行自动映射。
请描述从 SqlSessionFactoryBuilder.build() 到 SqlSession.selectOne() 执行的完整流程中,涉及的核心组件及其作用。
📝 发现内容有误?点击此处直接编辑
长按或扫描二维码,立即体验