前言
MyBatis是一个支持普通SQL查询、存储过程和高级映射的优秀持久层框架。MyBatis 去掉了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解进行配置和原始映射,以将接口和Java的POJO (Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。
MyBatis作为持久层框架,其主要思想是将程序中的大量SQL语句剥离出来,配置在配置文件中,以实现SQL的灵活配置。这样做的好处是将SQL与程序代码分离,做到可以在不修改程序代码的情况下,直接在配置文件中修改SQL。
在这里分享一份 [mybatis从入门到精通] 的强力教程,定能够助你一臂之力。
华为Java一面· 1H
闲聊偏多,问的技术性问题比较基础
- ·简单说说面向对象的特征以及六大原则
- ·谈谈final、finally、finalize的区别
- ·Java中==、equals与hashCode的区别和联系
- ·谈谈Java容器ArrayList、LinkedList、·HashMap、HashSet的理解,以及应用场景
- ·谈谈线程的基本状态,其中的wait() sleep() yield()方法的区别。
华为Java二面 · 0.5H
问题深入一些,开始加难度
- ·JVM性能调优的监控工具了解那些?
- ·简单谈谈JVM内存模型,以及volatile关键字
- ·垃圾收集器与内存分配策略
- ·垃圾收集算法
- ·MySQL几种常用的存储引擎区别
- ·数据库的隔离级别
- ·算法:5亿整数的大文件,怎么排?
华为Java三面· 0.5H
三面问题更为细致了,考察项目经验更多
- ·Java内存模型
- ·full gc怎么触发
- ·gc算法
- ·JVM回收策略
- ·ClassLoader原理和应用
- ·高吞吐量的话用哪种gc算法
- ·ConcurrentHashMap和HashMap
- ·volatile的底层如何实现,怎么就能保住可见性了?
- ·有参与过开源的项目吗?
- ·线程池原理,拒绝策略,核心线程数
- ·1亿个手机号码,判断重复
- ·线程之间的交互方式有哪些?有没有线程交互的封装类
华为Java4面 · 1H
重点考察全局观和应急处置
- ·项目介绍
- ·两次点击,怎么防止重复下订单
- ·数据库表设计,索引
- ·Redis的缓存淘汰策略、更新策略
- ·dubbo、netty、RPC介绍原理
- ·限流算法
- ·zk挂了怎么办
- ·分布式锁的实现方式,zk实现和Redis实现的比较
- ·秒杀场景设计,应付突然的爆发流量
- ·分布式数据一致性
- ·一致性哈希
- ·消息队列原理介绍
- ·注解的原理
- ·数据库原理,数据库中间件,索引优化
- ·ioc原理、aop原理和应用
- ·大数据相关,MapReduce
- ·Docker的原理
总结
本文从基础到高级再到实战,由浅入深,把MySQL讲的清清楚楚,明明白白,这应该是我目前为止看到过最好的有关MySQL的学习笔记了,我相信如果你把这份笔记认真看完后,无论是工作中碰到的问题还是被面试官问到的问题都能迎刃而解!