前言
都知道MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
所以作为一名开发人员,掌握好MyBatis的使用是非常有必要的,特别是像阿里、腾讯等大厂都使用广泛,那么如何能够达到“精通”MyBatis的程度?今天就来好好谈谈。
下面简单介绍一下这份MyBatis源码笔记,每个章节都是深入解析了源码底层在PDF里边有。为了让大家更好的学习MyBatis技术,我也是第一时间展示给大家了!
算法
- ?道常?的字符串算法题总结
- 最?公共前缀
- 回?串
- 两数相加
- 翻转链表
- 链表中倒数第k个节点
- 删除链表的倒数第N个节点
- 合并两个排序的链表
- 剑指offer部分编程题
- 跳台阶问题
- 变态跳台阶问题
- ?维数组查找
- 替换空格题?描述:
- 数值的整数次?
- 调整数组顺序使奇数位于偶数前?
- 链表中倒数第k个节点
- 反转链表
- 合并两个排序的链表
- ?两个栈实现队列
- 栈的压?,弹出序列
数据结构
- Java 集合框架中的队列 Queue
- HashSet 和 TreeSet 底层数据结构
- List的常?实现类ArrayList 和 LinkedList 源码学习
- Map
- ?叉树
- 完全?叉树
- 满?叉树
- 堆
- ?叉查找树(BST)
- 平衡?叉树(Self-balancing binary search tree)
- 红?树
- B-,B+,B*树
- LSM 树
Redis
- 为什么要? redis/为什么要?缓存
- 为什么要? redis ?不? map/guava 做缓存?
- redis 的线程模型
- redis 和 memcached 的区别
- redis 常?数据结构以及使?场景分析
- redis 设置过期时间
- redis 内存淘汰机制(MySQL?有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据?)
- redis 持久化机制(怎么保证 redis 挂掉之后再重启数据可以进?恢复)
- redis 事务
- 缓存雪崩和缓存穿透问题解决?案
- 如何解决 Redis 的并发竞争 Key 问题
- 如何保证缓存与数据库双写时的数据?致性?
MyBatis
- {}和${}的区别是什么?
- Xml 映射?件中,除了常?的 select|insert|updae|delete 标签之外,还有哪些标签?
- 最佳实践中,通常?个 Xml 映射?件,都会写?个 Dao 接?与之对应,请问,这个Dao接?的?作原理是什么?Dao接??的?法,参数不同时,?法能重载吗?
- Mybatis 是如何进?分?的?分?插件的原理是什么?
- 简述 Mybatis 的插件运?原理,以及如何编写?个插件。
- Mybatis 执?批量插?,能返回数据库主键列表吗?
- Mybatis 动态 sql 是做什么的?都有哪些动态 sql?能简述?下动态 sql 的执?原理不?
- Mybatis 是如何将 sql 执?结果封装为?标对象并返回的?都有哪些映射形式?
- Mybatis 能执??对?、?对多的关联查询吗?都有哪些实现?式,以及它们之间的区别。
- Mybatis 是否?持延迟加载?如果?持,它的实现原理是什么?
- Mybatis 的 Xml 映射?件中,不同的 Xml 映射?件,id 是否可以重复?
- Mybatis 中如何执?批处理?
- Mybatis 都有哪些 Executor 执?器?它们之间的区别是什么?
- Mybatis 中如何指定使?哪?种 Executor 执?器?
- Mybatis 是否可以映射 Enum 枚举类?
- Mybatis 映射?件中,如果 A 标签通过 include 引?了 B 标签的内容,请问,B 标签能否定义在 A 标签的后?,还是说必须定义在 A 标签的前??
- 简述 Mybatis 的 Xml 映射?件和 Mybatis 内部数据结构之间的映射关系?
- 为什么说 Mybatis 是半?动 ORM 映射?具?它与全?动的区别在哪??
难道这样就够了吗?不,远远不够!
提前多熟悉阿里往年的面试题肯定是对面试有很大的帮助的,但是作为技术性职业,手里有实打实的技术才是你面对面试官最有用的利器,这是从内在散发出来的自信。
备战阿里时我花的最多的时间就是在学习技术上,占了我所有学习计划中的百分之70,这是一些我学习期间觉得还是很不错的一些学习笔记
我为什么要写这篇文章呢,其实我觉得学习是不能停下脚步的,在网络上和大家一起分享,一起讨论,不单单可以遇到更多一样的人,还可以扩大自己的眼界,学习到更多的技术,我还会在csdn、博客、掘金等网站上分享技术,这也是一种学习的方法。
今天就分享到这里了,谢谢大家的关注,以后会分享更多的干货给大家!
本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录