更新时间:2022-12-15 16:27:50 来源:极悦 浏览735次
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的功能了。
你说一下一级缓存和二级缓存是什么吧?
首先,一级缓存它是指的,要知道的是一级缓存作用域默认是为sqlsession,同时默认也是帮你开启一级缓存。当同一个sqlsession中的时候,执行相同查询语句,在第一次的时候回去数据库进程查询,然后再写到缓存中去,再第二次以后都是直接去缓存中取了。
知道一级缓存了,二级缓存其实和一级缓存其机制相同,它的默认也是采用 PerpetualCache,HashMap 存储的,而不同的是在于其存储作用域为 Mapper(Namespace)中,并且可以自定义存储源。还有二级缓存默认关着的,假如你要取消的话,你可以通过mybatis配置文件来指定cacheEnabled为false即可,代码如下:。
再说一说mybatis二级缓存应用场景
二级缓存应用主要对于哪些访问多的查询请求,以及用户对查询结果实时性要求不高,这时候可采用mybatis二级缓存技术降低数据库访问量,从而提高访问速度。
以上就是“mybatis企业必问面试题,这几道需要格外注意”,你能回答上来吗?如果想要了解更多的相关内容,可以关注极悦Java官网。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习