M
教程目录
1234
MyBatis 的核心组件和执行流程?
一、核心组件 SqlSessionFactory:SqlSession 工厂,重量级,全局一个。 SqlSession:与数据库交互的会话,非线程安全,每次操作创建。 Executor:执行器,负责 SQL 执行和缓存维护。 StatementHandler:处理 JDBC Statement。 P
MyBatis 的一级缓存和二级缓存?
一、一级缓存 默认开启,作用域是 SqlSession。 同一个 SqlSession 内,相同 SQL 直接从缓存取。 执行 update/insert/delete 或 close 后缓存清空。 多个 SqlSession 不共享,可能导致脏读。 二、二级缓存 需手动开启,作用域是 Mapper
MyBatis 常用动态 SQL 标签?
一、if 条件判断,满足则拼接 SQL 片段。 WHERE 1=1 <if test="name != null">AND name = #{name}</if> 二、where 自动去掉多余的 AND/OR,自动加 WHERE。 <where> <if test="name != null"
MyBatis 的延迟加载?
一、定义 关联查询时,只在真正用到关联对象时才执行查询加载,避免一次性加载所有数据。 二、配置 <settings> <setting name="lazyLoadingEnabled" value="true"/> <setting name="aggressiveLazyLoading"