专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 职业指南 mybatis企业必问面试题,这几道需要格外注意

mybatis企业必问面试题,这几道需要格外注意

更新时间:2022-12-15 16:27:50 来源:动力节点 浏览644次

mybatis企业必问面试题可以说是很多面试官喜欢提到的问题,所以我们在此之前一定最好准备,这样才能更加有效的回答,好了,废话不多说,直接上干货:

mybatis企业必问面试题

mybatis动态sql是做什么的?

其实mybatis的动态sql,无非就是可以让我在xml映射文件内以标签的形式编写动态sql的,这样可以完成我们逻辑判断和动态拼接sql。mybatis为我们提供动态的sql标签,其中mybatis的标签分别定义sql语句(select、insert、delete、upadate)、控制动态sql拼接(if、foreach、choose)、格式化输出(where、set、trim)、配置关联关系(collection、association)、配置Java对象属性与查询结果集中列表对应关系(resultMap)以及定义常用和引用(sql和include)。

问到mybatis动态语句,一定会问到动态sql的执行原理是什么?

sql动态的执行原理非常简单,它是使用ognl从sql参数对象中计算表达式的值,然后再根据表达式的值动态进行拼接sql的,这样就可以完美地完成动态sql的功能了。

你说一下一级缓存和二级缓存是什么吧?

首先,一级缓存它是指session缓存的,要知道的是一级缓存作用域默认是为sqlsession,同时默认也是帮你开启一级缓存。当同一个sqlsession中的时候,执行相同查询语句,在第一次的时候回去数据库进程查询,然后再写到缓存中去,再第二次以后都是直接去缓存中取了。

知道一级缓存了,二级缓存其实和一级缓存其机制相同,它的默认也是采用 PerpetualCache,HashMap 存储的,而不同的是在于其存储作用域为 Mapper(Namespace)中,并且可以自定义存储源。还有二级缓存默认关着的,假如你要取消的话,你可以通过mybatis配置文件来指定cacheEnabled为false即可,代码如下:。

再说一说mybatis二级缓存应用场景

二级缓存应用主要对于哪些访问多的查询请求,以及用户对查询结果实时性要求不高,这时候可采用mybatis二级缓存技术降低数据库访问量,从而提高访问速度。

以上就是“mybatis企业必问面试题,这几道需要格外注意”,你能回答上来吗?如果想要了解更多的Java面试题相关内容,可以关注动力节点Java官网。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>