栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java面试手册V2.0+突击V3.0知识点整理(二十三) 附封面图片

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java面试手册V2.0+突击V3.0知识点整理(二十三) 附封面图片


1. Mybatis支持枚举吗?
  • 支持,有转换器EnumTypeHandler和EnumOrdinalTypeHandler

	


2. SqlSessionFactoryBuilder生命周期?
  • 利用xml或者Java代码获得资源构建SqlSessionFactoryBuilder,它可以创建多个SessionFactory,一旦构建成功SessionFactory就可以回收它了

3. 一级缓存的结构?如何开启一级缓存?如何不使用一级缓存?
  • Map,。默认情况下,一级缓存是开启的。 标签内加属性flushCache=true

4. 二级缓存如何配置?
	
		
	
  • 这个参数是二级缓存的全局开关,默认值是true,初始状态为开启状态。如果把这个参数设置为false,即使有后面的二级缓存配置,也不会生效

5. 简述Mybatis插件的运行原理,以及如何编写一个插件?
  • Mybatis仅可以编写针对ParameterHandler、ResultSetHandler、StatementHandler、Executor这四种接口的插件,Mybatis通过动态代理,为需要拦截的接口生成代理对象以实现接口方法拦截功能,每当执行这四种接口对象的方法时,就会进入拦截方法,具体就是InvocationHandler的invoke()方法,当然,只会拦截那些你指定需要拦截的方法

  • 实现Mybatis的Interceptor接口并复写intercept()方法,然后再给插件编写注解,指定要拦截哪一个接口的哪些方法即可,最后别忘了在配置文件中配置自己编写的插件


6. 二级缓存的回收策略有哪些?
  • eviction(收回策略)
  • LRU(最近最少使用的):移除最长时间不被使用的对象,这是默认值
  • IFO(先进先出):按对象进入缓存的顺序来移除它们
  • SOFT(软引用):移除基于垃圾回收状态和软引用规则的对象
  • WEAK(弱引用):更积极地移除基于垃圾收集器状态和弱引用规则的对象

7. Mybatis的xml文件中id可以重复吗?
  • 同一namespace下,id不可重复。不同namespace下,可以重复

8. 和Mybatis搭配Java框架中比较好用的缓存框架》有哪些特点?
  • EhCache是一个纯牌的Java进程内的缓存框架,具有快速、精干等特地
  • EhCache主要特征:
    • 简单、快速
    • 多种缓存策略
    • 缓存数据有内存和硬盘两级,无需担心容量问题
    • 缓存数据会在虚拟机重启的过程中写入磁盘
    • 可以通过RMI可插入API等方式进入分布式缓存
    • 具有缓存和缓存管理器的侦听接口
    • 支持多缓存管理器实例以及一个实例的多个缓存区域

9. resultMap和resultType
  • resultMap是手动提交,人为提交,resultType是自动提交
  • Mybatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用,但是resultType跟resultMap不能同时存在
  • 在Mybatis进行查询映射时,其实查询出来的每一个属性都是放在一个对应的Map里面的,其中键是属性名,值则是其对应的值
    1. 当提供的返回类型属性是resultType时,Mybatis会将Map里面的键值对取出赋给resultType所指定的对象对应的属性。所以其实Mybatis的每一个查询映射的返回类型都是ResultMap,只是当提供的返回类型属性是resultType的时候,Mybatis会自动的把对应的值赋给resultType所指定对象的属性
    2. 当提供的返回类型是resultMap时,因为Map不能很好表示领域模型,就需要自己再进一步的把它转化为对应的对象,这在复杂查询中很有作用

10. Mybatis动态sql有什么用?执行原理?有哪些动态sql?
  • 有九种动态sql标签:trim、where、set、foreach、if、choose、when、bind、otherwise
  • Mybatis的动态sql可以在xml映射文件内,以标签的形式编写动态sql,执行原理是根据表达式的值,完成逻辑判断并动态拼接sql的功能

上一篇:Java面试手册V2.0+突击V3.0知识点整理(二十二) 附封面图片
下一篇:Java面试手册V2.0+突击V3.0知识点整理(二十四) 附封面图片


如果觉得封面图片还行,请顺手点个赞

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/358151.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号