前言

很多人说 mybatis重不重要?这里再说下,互联网公司基本都是用mybatis做为持久层框架的,所以mybatis是一定要学的。

程序员80%时间都在CRUD,对了mybatis就是干这个的

什么是 MyBatis ?

MyBatis是一个实现了JPA规范的用来连接数据库并对其进行增删改查操作的开源框架 (就和传统的JDBC一样,就是个连接数据库的东西),其实,它底层就是一个JDBC封装的组件。MyBatis的前身是Ibatis,Ibatis创建与2002年最初为Apache下面的一个开源项目,2010迁移到google code下面并改名为MyBatis。

MyBatis虽然实现了JPA但是它并不是一个完完全全的ORM组件,而是一个基于SQL开发的半ORM组件。

而Hibernate是一个完完全全的ORM组件,它是完全基于对象来操作数据库中的记录,并不和MyBatis一样是一个假把式。

为什么我们要⽤Mybatis?

⽆论是Mybatis、Hibernate都是ORM的⼀种实现框架,都是对JDBC的⼀种封装!

[图片上传失败…(image-a396f-1606743201911)]

到⽬前为⽌,我们已经在持久层中学了⼏种技术了…

  • Hibernate

  • jdbc

  • SpringDAO

那我们为啥还要学Mybatis呢???现在Mybatis在业内⼤⾏其道,那为啥他能那么⽕呢??

Hibernate是⼀个⽐较⽼旧的框架,⽤过他的同学都知道,只要你会⽤,⽤起来⼗分舒服…啥sql代码都不⽤写…但是呢,它也是有的缺点::处理复杂业务时,灵活度差, 复杂的HQL难写难理解,例如多表查询的HQL语句,⽽JDBC很容易理解,就那么⼏个固定的步骤,就是开发起来太麻烦了,因为什么都要我们⾃⼰⼲…

我们可以认为,Mybatis就是jdbc和Hibernate之间的⼀个平衡点…毕竟现在业界都是⽤这个框架,我们也不能不学呀!

今天分享字节跳动珍藏版的Mybatis文档,可以帮助你快速入门Mybatis!
关注公众号:程序员追风,回复011 领取这份mybatisP文档(含思维导图和面试题)

关于Mybatis的知识点总结了一个思维导图,分享给大家。

互联网公司常问的Mybatis面试题总结

1.为什么需要预编译?

2.Mybatis都有哪些Executor执行器?它们之间的区别是什么?

3.Mybatis中如何指定使用哪一种Executor执行器?

4.Mybatis是否支持延迟加载?如果支持,它的实现原理是什么?

5.# {}和${}的区别?

6.模糊查询like语句该怎么写?

7.在mapper中如何传递多个参数?

8.Mybatis如何执行批量操作?

9.如何获得生成的主键?

10.当实体类中的属性名和表中的字段名不一样 ,怎么办

11.Mapper 编写有哪几种方式?

12.什么是MyBatis的接口绑定?有哪些实现方式?

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

14.最佳实践中,通常一个Xml映射文件,都会写一个Dao接口与之对应,请问,这个Dao接口的工作原理是什么?Dao接口里的方法,参数不同时,方法能重载吗?

15.Mybatis的Xml映射文件中,不同的Xml映射文件,id是否可以重复?

16.简述Mybatis的Xml映射文件和Mybatis内部数据结构之间的映射关系?

17.Mybatis是如何将sql执行结果封装为目标对象并返回的?都有哪些映射形式?

18.MyBatis中所有标签?

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

20.Mybatis是否可以映射Enum枚举类?

21.Mybatis动态sql是做什么的?都有哪些动态sql?能简述一下动态sql的执行原理不?

22.分页方式?

23.简述Mybatis的插件运行原理,以及如何编写一个插件?

24.Mybatis的一级、二级缓存?

25.pageHelper原理?

常见的这些Mybatis面试题答案都整理成了PDF文档。
关注公众号:程序员追风,回复011 领取这份mybatisP文档(含思维导图和面试题)

总结

学习是一辈子的事情,学完一段时间之后,想要检查学习效果如何,其实最好的方法就是可自己去总结一下。比如我在学习的时候会自己做笔记,然后自己再总结,自己的做的笔记也可方便后续的复习,且都是自己的理解。

MyBatis要不要学?京东内部的这份MyBatis文档真香!相关推荐

  1. JAVA毕业设计黑格伯爵国际英语贵族学校官网计算机源码+lw文档+系统+调试部署+数据库

    JAVA毕业设计黑格伯爵国际英语贵族学校官网计算机源码+lw文档+系统+调试部署+数据库 JAVA毕业设计黑格伯爵国际英语贵族学校官网计算机源码+lw文档+系统+调试部署+数据库 本源码技术栈: 项目 ...

  2. MyBatis骨骼惊奇,跟着腾讯大牛学源码分析,总结出这份pdf文档

    什么是MyBatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为 ...

  3. 47K Star 的SpringBoot+MyBatis+docker电商项目,附带超详细的文档!

    点击上方 好好学java ,选择 星标 公众号重磅资讯,干货,第一时间送达 今日推荐:推荐19个github超牛逼项目!个人原创100W +访问量博客:点击前往,查看更多 简介 该项目是一套电商系统, ...

  4. MFC 内部组织结构(简单单文档)

    MFC 内部组织结构(单文档) 工程从一个全局变量theApp初始化开始 调用构造函数CXXApp()://(派生于CWinApp())://关于CWinApp的文件可百度查找 调用父(基)类构造函数 ...

  5. 3个月前被裁员了,心情跌落谷底,直到学姐给了我这份面试文档…

    3个月前的某一天,正在愉快的打工,突然被喊去谈话,然后就被辞退了.. 加入了找工作的大军 然而,因为疫情,因为大专学历的我,找工作比以往都艰难了许多 很多,纯粹就是因为学历,都不给面试机会 在断断续续 ...

  6. 老猿学5G扫盲贴:3GPP规范文档命名规则及同系列文档阅读指南

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 在学习5G规范过程中,有些内容把握不定的时候,有时 ...

  7. 计算机哪一部分学的是网站管理,1,管理信息系统是一门新型学科,它属于A,计算机学(20页)-原创力文档...

    1,管理信息系统是一门新型学科,它属于 A, 计算机学科B,经济学科C, 综合性,边缘性学科 D,工程学科__C__. A, 信息是一种经过加工而形成的数据 B, 信息是数据所表达的客观事实,数据是信 ...

  8. 和菜鸟一起学产品之产品经理的三大文档

    转载于:https://www.cnblogs.com/wuyida/p/6299993.html

  9. npoi操作word书签_100份Word文档合并只需3分钟?不用复制粘贴,简单到一学就会...

    办公中,我们时常会需要将很多份Word文档合并在一起,如果不会便捷的技巧光靠复制粘贴,那将会花费我们很多的时间和精力.所以,今天我们就是要教大家一个非常简单的方法,只用三分钟就能将上百份文档合并在一起 ...

  10. 基于javaweb(springboot+mybatis)生活美食分享平台管理系统设计和实现以及文档报告

最新文章

  1. centso7 install Mariadb
  2. 编程之美-求二叉树中节点的最大距离方法整理
  3. 关于Jdk7与Jdk8对Collections进行分组的区别
  4. boost::mp11::mp_nth_element_q相关用法的测试程序
  5. 最大子序和—leetcode53
  6. ssl2644-线段树练习1【线段树】
  7. 测试Flex代码覆盖率工具---FlexCover
  8. tuxedo 强制重启
  9. python爬取qq好友网络状态_Python爬虫实战----爬取QQ空间好友说说并生成词云(超详细)...
  10. Kotlin学习教程推荐
  11. 短视频矩阵系统,抖音矩阵系统,抖音获客系统源码。look
  12. 【引用】教你会看电脑的配置
  13. Canvas 炫彩小球
  14. 小白网卡带宽限速神器:wondershaper
  15. 机器学习-LDA--景区评论分析 ipython
  16. 考题篇(5.2) 19. 数据防泄漏 ❀ FortiGate ❀ Fortinet 网络安全专家 NSE 4
  17. 鹏哥手把手带我刷好题 · 编程练习 · I
  18. winsxs探索之组件的本质:文件与注册表
  19. 如何解决电脑使用中任务栏“卡死”问题。
  20. rpm方式安装redis4.0

热门文章

  1. 博途V15添加GSD文件
  2. qt引入txt文件_QT 读取txt文件的几种方法
  3. 黄山归来不看岳:《Java开发手册(黄山版)》新增 11 条规约
  4. 为什么正常单据记账没有数据_正常单据记账中找不到记账单据
  5. 推荐系统之ALS算法详解
  6. Qt学习之Qt基础入门(上)
  7. 华为交换机默认BOOTROM密码
  8. 新版谷歌flash的问题
  9. 【 PID 算法 】PID 算法基础
  10. Park 变换 系数2/3的由来