广告
返回顶部
首页 > 资讯 > 数据库 >mybatis面试热点
  • 224
分享到

mybatis面试热点

mybatis面试热点 2015-12-24 01:12:28 224人浏览 猪猪侠
摘要

分页插件的基本原理是使用mybatis提供的插件接口,实现自定义插件,在插件的拦截方法内拦截待执行的sql,然后重写sql,根据dialect方言,添加对应的物理分页语句和物理分页参数。 Xml映射文件中,除了常见的select|ins

mybatis面试热点

分页插件的基本原理是使用mybatis提供的插件接口,实现自定义插件,在插件的拦截方法内拦截待执行的sql,然后重写sql,根据dialect方言,添加对应的物理分页语句和物理分页参数。

Xml映射文件中,除了常见的select|insert|updae|delete标签之外,还有哪些标签?

  ,加上动态sql的9个标签,其中 为sql片段标签,通过 标签引入sql片段, 为不支持自增的主键生成策略标签。

为什么说Mybatis是半自动ORM映射工具?它与全自动的区别在哪里?

Hibernate属于全自动ORM映射工具,使用Hibernate查询关联对象或者关联集合对象时,可以根据对象关系模型直接获取,所以它是全自动的。而Mybatis在查询关联对象或关联集合对象时,需要手动编写sql来完成,所以,称之为半自动ORM映射工具。

Mybatis 中一级缓存与二级缓存的区别?

缓存:合理使用缓存是优化中最常见的方法之一,将从数据库中查询出来的数据放入缓存中,下次使用时不必从数据库查询,而是直接从缓存中读取,避免频繁操作数据库,减轻数据库的压力,同时提高系统性能。

  • 一级缓存是SqlSession级别的缓存:
Mybatis对缓存提供支持,但是在没有配置的默认情况下,它只开启一级缓存。一级缓存在操作数据库时需要构造sqlSession对象,在对象中有一个数据结构用于存储缓存数据。不同的sqlSession之间的缓存数据区域是互相不影响的。也就是他只能作用在同一个sqlSession中,不同的sqlSession中的缓存是互相不能读取的。
  • 二级缓存是mapper级别的缓存:
MyBatis的二级缓存是mapper级别的缓存,它可以提高对数据库查询的效率,以提高应用的性能。多个SqlSession去操作同一个Mapper的sql语句,多个SqlSession可以共用二级缓存,二级缓存是跨SqlSession的。  

开启二级缓存:
A.mybatis.xml配置文件中加入:

    
       
        
   

B.在需要开启二级缓存的mapper.xml中加入caceh标签

  

C.让使用二级缓存的POJO类实现Serializable接口

public class User implements Serializable {}  

使用 MyBatis 的 mapper 接口调用时有哪些要求?

A. Mapper 接口方法名和 mapper.xml 中定义的每个 sql 的 id 相同
B. Mapper 接口方法的输入参数类型和 mapper.xml 中定义的每个 sql 的 parameterType 的类型相同
C. Mapper 接口方法的输出参数类型和 mapper.xml 中定义的每个 sql 的 resultType 的类型相同
D. Mapper.xml 文件中的 namespace 即是 mapper 接口的类路径

简述一下Mybatis 的编程步骤

A.创建 SqlSessionFactory
B.通过 SqlSessionFactory 创建 SqlSession
C.通过 sqlsession 执行数据库操作
D.调用 session.commit()提交事务
E.调用 session.close()关闭会话

MyBatis中接口绑定有几种实现方式,是怎么实现的?

A.通过注解绑定,在接口的方法上面加上 @Select@Update等注解里面包含Sql语句来绑定(Sql语句比较简单的时候,推荐注解绑定)
B.通过xml里面写SQL来绑定, 指定xml映射文件里面的namespace必须为接口的全路径名(SQL语句比较复杂的时候,推荐xml绑定)

MyBatis实现一对多有几种方式,怎么操作的?

A.联合查询:几个表联合查询,只查询一次,通过在resultMap里面配置collection节点配置一对多的类就可以完成.
B.嵌套查询:是先查一个表,根据这个表里面的结果的外键id去另外一个表里面查询数据,也是通过配置collection,但另外一个表的查询通过select节点配置。

 

 

您可能感兴趣的文档:

--结束END--

本文标题: mybatis面试热点

本文链接: https://www.lsjlt.com/news/4336.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mybatis面试热点
    分页插件的基本原理是使用Mybatis提供的插件接口,实现自定义插件,在插件的拦截方法内拦截待执行的sql,然后重写sql,根据dialect方言,添加对应的物理分页语句和物理分页参数。 Xml映射文件中,除了常见的select|ins...
    99+
    2015-12-24
    mybatis面试热点
  • Java IDE 缓存问题是面试中的热点话题吗?
    在Java开发领域,IDE(Integrated Development Environment)是程序员的日常工具之一。IDE可以帮助程序员提高开发效率,减少出错率。然而,随着项目的规模越来越大,IDE的缓存问题也越来越突出。 在面试中,...
    99+
    2023-09-24
    ide 缓存 面试
  • 面试分析分布式架构Redis热点key大Value解决方案
    目录引言1、面试官:你在项目中有没有遇到Redis热点数据问题,一般都是什么原因引起的?2、面试官:真实项目中,那热点数据问题你是如何准确定位的呢?3、如何解决热点数据问题4、面试官...
    99+
    2022-11-13
    分布式架构面试 Redis热点key大Value
  • Java经典面试题汇总:Mybatis
    目录1. MyBatis 中 #{}和 ${}的区别是什么?2. MyBatis 有几种分页方式?3. MyBatis 逻辑分页和物理分页的区别是什么?4. MyBatis 是否支持...
    99+
    2022-11-12
    Java面试题 Java汇总 JavaMybatis
  • MyBatis常见面试题有哪些
    这篇文章给大家分享的是有关MyBatis常见面试题有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。  1、什么是Mybatis  Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时...
    99+
    2023-06-04
  • 热门的高级Java面试题有哪些
    本篇内容主要讲解“热门的高级Java面试题有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“热门的高级Java面试题有哪些”吧!什么是可变参数?可变参数允许调用参数数量不同的方法。请看下面例子...
    99+
    2023-06-17
  • java面试知识点
    Java文件经过JVM编译成字节码文件,即.class文件,将字节码文件在不同的操作系统中运行时,操作系统再将字节码文件编译成机器码文件。这就是Java跨平台首先明确一点,java 的 GC 回收是完全自动的,没有提供相关 api 手动回收...
    99+
    2020-03-24
    java教程 java 面试
  • Java面试题冲刺第九天--MyBatis
    目录面试题1:你怎么理解ORM框架,常见的ORM框架都有哪些?正经回答:追问1:大家都在用Mybatis,Mybatis都有哪些优势?面试题2:相比较Hibernate与Mybati...
    99+
    2022-11-12
    Java面试题 JavaMyBatis
  • Java中Mybatis的面试题有哪些
    这篇文章给大家分享的是有关Java中Mybatis的面试题有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1. MyBatis 中 #{}和 ${}的区别是什么?#{}是预编译处理,${}是字符替换。 在使用...
    99+
    2023-06-20
  • android-7 面试知识点
    1、说说Glide中的with方法2、什么是线程安全?保障线程安全有哪些手段?3、说说TCP的三次挥手、四次挥手4、谈谈垃圾回收机制?5、手写...
    99+
    2022-06-06
    面试 Android
  • android-6-面试知识点
    1. 增删改查的Sql语句 建表:create table user(id Integer(11) primary key auto_incre...
    99+
    2022-06-06
    面试 Android
  • Android面试技术点汇总
    activity 1 fragment以及与activity交互 (1)通过Bundle传参,从而实现Fragment之间的数据交互 (2)通过在Fragment内部定义一个回...
    99+
    2022-06-06
    Android
  • CSS面试要点有哪些
    这篇文章主要介绍“CSS面试要点有哪些”,在日常操作中,相信很多人在CSS面试要点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CSS面试要点有哪些”的疑惑有所帮助!接...
    99+
    2022-10-19
    css
  • mysql知识点+面试总结
    目录 1 mysql介绍 2 数据库常见语法 3 数据库表的常见语法 4 其他常见语法(日期,查询表字段) 5 JDBC开发步骤 6 索引 6.1 索引常见语法 7 常见面试总结 8 java集成数据库监控页面 1 mysql介绍 ...
    99+
    2023-09-04
    mysql 面试 数据库
  • Android面试的重点要点题有哪些
    这篇文章给大家分享的是有关Android面试的重点要点题有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。正文整个面试题分为三个部分:Java、Android和项目经验。Java技术Java基础对抽象、继承、多...
    99+
    2023-06-04
  • Java和Django:NPM面试中的热门技能,你掌握了吗?
    Java和Django:NPM面试中的热门技能,你掌握了吗? 在NPM面试中,Java和Django是两个非常热门的技能。Java是一种广泛使用的编程语言,而Django则是一个流行的Python Web框架。在这篇文章中,我们将讨论Jav...
    99+
    2023-07-07
    npm 面试 django
  • Redis必备面试题《难点篇》
    Date:2019-11-12 读前思考:     redis每次必问的问题,在大脑里面先回想一下,能否答出一二?        题1:Redis雪崩了解么?   题2:了解Redis缓存穿透和击穿么?   题3:你知道Redis缓存雪崩、...
    99+
    2014-08-28
    Redis必备面试题《难点篇》
  • JavaScript面试知识点有哪些
    这篇文章主要介绍了JavaScript面试知识点有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript面试知识点有哪些文章都会有所收获,下面我们一起来看看吧。...
    99+
    2022-10-19
    javascript
  • Redis面试知识点有哪些
    本篇内容主要讲解“Redis面试知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Redis面试知识点有哪些”吧!Redis 是什么面试官:你先来说下 Redis 是什么吧!我:(这不就...
    99+
    2023-06-02
  • 《MySQL面试小抄》索引考点二面总结
    《MySQL面试小抄》索引考点二面总结 我是肥哥,一名不专业的面试官! 我是囧囧,一名积极找工作的小菜鸟! 囧囧表示:小白面试最怕的就是面试官问的知识点太笼统,自己无法快速定位到关键问题点!!!   本期主要面试考点 面试官考点之谈...
    99+
    2021-10-15
    《MySQL面试小抄》索引考点二面总结
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作