本文向大家介绍Mybatis 是否支持延迟加载?如果支持,它的实现原理是什么?相关面试题,主要包含被问及Mybatis 是否支持延迟加载?如果支持,它的实现原理是什么?时的应答技巧和注意事项,需要的朋友参考一下 Mybatis 仅支持 association 关联对象和 collection 关联集合对象的延迟加 载,association 指的就是一对一,collection 指的就是一对多查询
本文向大家介绍Mybatis 动态 sql 有什么用?执行原理?有哪些动态 sql?相关面试题,主要包含被问及Mybatis 动态 sql 有什么用?执行原理?有哪些动态 sql?时的应答技巧和注意事项,需要的朋友参考一下 Mybatis 动态 sql 可以在 Xml 映射文件内,以标签的形式编写动态 sql,执行原理 是根据表达式的值 完成逻辑判断并动态拼接 sql 的功能。 Mybatis 提
本文向大家介绍简述 Mybatis 的插件运行原理,以及如何编写一个插件相关面试题,主要包含被问及简述 Mybatis 的插件运行原理,以及如何编写一个插件时的应答技巧和注意事项,需要的朋友参考一下 答:Mybatis 仅可以编写针对 ParameterHandler、ResultSetHandler、StatementHandler、Executor 这 4 种接口的插件,Mybatis 使用
本文向大家介绍为什么说 Mybatis 是半自动 ORM 映射工具?它与全自动的区别在哪里?相关面试题,主要包含被问及为什么说 Mybatis 是半自动 ORM 映射工具?它与全自动的区别在哪里?时的应答技巧和注意事项,需要的朋友参考一下 Hibernate 属于全自动 ORM 映射工具,使用 Hibernate 查询关联对象或者关联集合对象时,可以根据对象关系模型直接获取,所以它是全自动的。而
本文向大家介绍Mybatis是如何将sql执行结果封装为目标对象并返回的?都有哪些映射形式?相关面试题,主要包含被问及Mybatis是如何将sql执行结果封装为目标对象并返回的?都有哪些映射形式?时的应答技巧和注意事项,需要的朋友参考一下 第一种是使用标签,逐一定义数据库列名和对象属性名之间的映射关系。 第二种是使用 sql 列的别名功能,将列的别名书写为对象属性名。 有了列名与属性名的映射关系后
本文向大家介绍Mybatis 的 Xml 映射文件中,不同的 Xml 映射文件,id 是否可以重复?相关面试题,主要包含被问及Mybatis 的 Xml 映射文件中,不同的 Xml 映射文件,id 是否可以重复?时的应答技巧和注意事项,需要的朋友参考一下 不同的 Xml 映射文件,如果配置了 namespace,那么 id 可以重复;如果没有配置 namespace,那么 id 不能重复; 原因就
本文向大家介绍Mybatis 的一级、二级缓存相关面试题,主要包含被问及Mybatis 的一级、二级缓存时的应答技巧和注意事项,需要的朋友参考一下 1)一级缓存: 基于 PerpetualCache 的 HashMap 本地缓存,其存储作用域为 Session,当 Session flush 或 close 之后,该 Session 中的所有 Cache 就 将清空,默认打开一级缓存。 2)二级缓
本文向大家介绍MyBatis 实现一对一有几种方式?具体怎么操作的?相关面试题,主要包含被问及MyBatis 实现一对一有几种方式?具体怎么操作的?时的应答技巧和注意事项,需要的朋友参考一下 有联合查询和嵌套查询,联合查询是几个表联合查询,只查询一次, 通过在resultMap 里面配置 association 节点配置一对一的类就可以完成; 嵌套查询是先查一个表,根据这个表里面的结果的 外键 i
本文向大家介绍MyBatis 逻辑分页和物理分页的区别是什么?相关面试题,主要包含被问及MyBatis 逻辑分页和物理分页的区别是什么?时的应答技巧和注意事项,需要的朋友参考一下 逻辑分页是一次性查询很多数据,然后再在结果中检索分页的数据。这样做弊端是需要消耗大量的内存、有内存溢出的风险、对数据库压力较大。 物理分页是从数据库查询指定条数的数据,弥补了一次性全部查出的所有数据的种种缺点,比如需要大
本文向大家介绍说一下 MyBatis 的一级缓存和二级缓存?相关面试题,主要包含被问及说一下 MyBatis 的一级缓存和二级缓存?时的应答技巧和注意事项,需要的朋友参考一下 一级缓存:基于 PerpetualCache 的 HashMap 本地缓存,它的声明周期是和 SQLSession 一致的,有多个 SQLSession 或者分布式的环境中数据库操作,可能会出现脏数据。当 Session f
本文向大家介绍MyBatis 和 hibernate 的区别有哪些?相关面试题,主要包含被问及MyBatis 和 hibernate 的区别有哪些?时的应答技巧和注意事项,需要的朋友参考一下 灵活性:MyBatis 更加灵活,自己可以写 SQL 语句,使用起来比较方便。 可移植性:MyBatis 有很多自己写的 SQL,因为每个数据库的 SQL 可以不相同,所以可移植性比较差。 学习和使用门槛:M
本文向大家介绍MyBatis 有哪些执行器(Executor)?相关面试题,主要包含被问及MyBatis 有哪些执行器(Executor)?时的应答技巧和注意事项,需要的朋友参考一下 MyBatis 有三种基本的Executor执行器: SimpleExecutor:每执行一次 update 或 select 就开启一个 Statement 对象,用完立刻关闭 Statement 对象; Reus
本文向大家介绍MyBatis 如何编写一个自定义插件?相关面试题,主要包含被问及MyBatis 如何编写一个自定义插件?时的应答技巧和注意事项,需要的朋友参考一下 自定义插件实现原理: MyBatis 自定义插件针对 MyBatis 四大对象(Executor、StatementHandler、ParameterHandler、ResultSetHandler)进行拦截: Executor:拦截内
本文向大家介绍请问MyBatis中的动态SQL是什么意思?相关面试题,主要包含被问及请问MyBatis中的动态SQL是什么意思?时的应答技巧和注意事项,需要的朋友参考一下 考察点:SQL 参考回答: 对于一些复杂的查询,我们可能会指定多个查询条件,但是这些条件可能存在也可能不存在,需要根据用户指定的条件动态生成SQL语句。如果不使用持久层框架我们可能需要自己拼装SQL语句,还好MyBatis提供了
本文向大家介绍请说明一下MyBatis中命名空间(namespace)的作用是什么?相关面试题,主要包含被问及请说明一下MyBatis中命名空间(namespace)的作用是什么?时的应答技巧和注意事项,需要的朋友参考一下 考察点:Mybatis 参考回答: 在大型项目中,可能存在大量的SQL语句,这时候为每个SQL语句起一个唯一的标识(ID)就变得并不容易了。为了解决这个问题,在MyBatis中