一:mappers标签加载mapper有几种方式:四种,package优先级最大,可以看源码
二:mabatis执行器有几种:3种:默认是ExecutorType 枚举值 BatchExecutor\SimpleExecutor\ReuseExecutor(复用) 具体去看下
Executor接口的装饰器类CachingExecutor
三:Mybatis一级缓存是开始还是关闭?cacheEnabled参数为true, 怎么用的?
localCache
四:为什么select 参数是wen’hao
五:什么是ORM框架:用于实现面向对象编程里不同类型系统的数据之间的转换(String 和Varchar类型)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IXi7ayhZ-1588906445744)(https://img.hacpai.com/file/2020/03/image-46209a03.png)]
六:一级缓存和二级缓存
七:CachingExecutor为什么是装饰者模式,什么是开闭原则
八:使用JDBC查询是怎样的,Mybatis流程原理是什么
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dovS3PJg-1588906445746)(https://img.hacpai.com/file/2020/04/image-734ec201.png)]
九:重载重写概念:,各Mapper里的方法支持重载吗 不支持
org.apache.ibatis.builder.annotation.MapperAnnotationBuilder.parseStatement
final String mappedStatementId = type.getName() + “.” + method.getName();
九:${} #{}区别
#{} 会先进行预编译处理 PreparedStatement中的set方法,把具体#{}以及里面的东西变成?占位符,再传入具体的值,并给值加上双引号。
${} 直接赋值,容易SQL注入
十:延迟加载是什么?有什么用 ? 妈的在我看来一点用没有啊,操