【Mybatis】面试题汇总

本文主要介绍Mybatis相关知识。阐述了Mybatis执行流程,包括加载配置文件、创建会话工厂、获取SqlSession等步骤。还讲解了一级缓存和二级缓存的作用域、开启状态及二级缓存的缺点。此外,对比了Mybatis中${}和#{}的区别,指出#{}能预防SQL注入且性能更好。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Mybatis

1. Mybatis执行流程

答:

  1. 首先加载Mybatis的配置文件,读取Mybatis的配置信息。
  2. 构造SqlSessionFactory会话工厂,通过SqlSessionFactoryBuilder根据配置信息生成SqlSessionFactory实例。
  3. 会话工厂创建SqlSession
  4. SqlSession获取Mapper接口的代理对象,然后根据Mapper接口中的方法名找到对应的SQL,执行SQL语句。
  5. 根据resultMap将查询结果映射为Java对象。
  6. 使用完毕关闭SqlSession

2. 一级缓存、二级缓存

答:

  1. 一级缓存: 作用域是SqlSession级别(与数据库的一次会话),也就是在同一个SqlSession下可以走缓存。基于HashMap的本地索引,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值