精雕细琢!阿里耗时”3月“打磨出来的 MyBatis+设计模式 架构指南

80 阅读4分钟

设计模式是面试中的高频问题,特别是像 BAT、TMD 这样的大公司,更加重视候选人的基本功,毕竟,你写出的代码足够“好”,是可以让公司后续的运营和维护,变得更简单、更便捷。所以,不想在面试时凉凉,对于这种大概率的考题,就要做好万全的准备。

设计模式目录

创建者模式

  1. 第1节:工厂方法模式

  2. 第2节:抽象工厂模式

  3. 第3节:建造者模式

  4. 第4节:原型模式

  5. 第5节:单例模式

结构型模式

  1. 第1节:适配器模式

  2. 第2节:桥接模式

  3. 第3节:组合模式

  4. 第4节:装饰器模式

  5. 第5节:外观模式

  6. 第6节:享元模式

  7. 第7节:代理模式

行为模式

  1. 第1节:责任链模式

  2. 第2节:命令模式

  3. 第3节:迭代器模式

  4. 第4节:中介者模式

  5. 第5节:备忘录模式

  6. 第6节:观察者模式

  7. 第7节:状态模式

  8. 第8节:策略模式

  9. 第9节:模板模式

  10. 第10节:访问者模式

在当今的大型互联网中,灵活、sql优化,减少数据的传递是最基本的优化方法,但是Hibernate却无法满足我们的需求,而MyBatis提供了更灵活、更方便的方法。

在MyBatis里,我们需要自己编写sql,虽然比Hibernate配置要多,但是是MyBatis可以配置动态sql,也可以优化sql,且支持存储过程,MyBatis几乎能做到 JDBC 所能做到的所有事情!凭借其高度灵活、可优化、易维护等特点,成为目前大型移动互联网项目的首选框架。

MyBatis目录

Mybatis入门

  1. 什么是MyBatis
  2. 为什么我们要用Mybatis?
  3. Mybatis快速入门
  4. Mybatis工作流程
  5. 完成CRUD操作
  6. 动态SQL
  7. 入门总结

Mybatis配置信息

  1. 映射文件
  • 占位符
  • 主键生成策略
  • 主键返回
  • resultMap
  • resultMap和resultType区别
  • 使用resultMap
  • resultType和resultMap用法总结
  • Mybatis映射文件处理特殊字符
  1. 配置文件
  • 别名
  • Mapper加载
  • 延迟加载
  • 延迟加载测试
  1. 配置相关总结

关联映射

  1. Mybatis【多表连接】
  • 一对一
  • 一对多
  • 多对多
  1. 关联映射总结

缓存+Mapper代理+逆向工程

  1. Mybatis缓存
  • Mybatis一级缓存
  • Mybatis二级缓存
  • Mybatis二级缓存配置
  • 查询结果映射的pojo序列化
  • 禁用二级缓存
  • 刷新缓存
  • 了解Mybatis缓存的一些参数
  1. mybatis和ehcache缓存框架整合
  • 整合jar包
  • ehcache.xml配置信息
  • 应用场景与局限性
  1. Mapper代理方式
  • Mapper开发规范
  • Mapper代理返回值问题
  1. Mybatis解决JDBC编程的问题
  2. Mybatis逆向工程
  • 修改pom.xml文件
  • generatorConfig.xml配置文件
  • 使用插件步骤
  • 最后生成代码

Mybatis整合Spring

  1. Mybatis与Spring整合
  • 导入jar包

  • 创建表

  • 创建实体

  • 创建实体与表的映射文件

  • 创建Mybatis映射文件配置环境

  • 配置Spring核心过滤器〔也是加载总配置文件】

  • 配置数据库信息、事务

  • 创建Dao.Service.Action

  • JSP页面测试

mybatis源码分析目录

第—部分:自定义持久层框架

  • 分析jdbc操作问题
  • 问题解决思路
  • 自定义框架设计
  • 自定义框架实现
  • 自定义框架优化

第二部分:Mybatis相关概念

  • 对象/关系数据库映射(ORM)
  • Mybatis简介
  • MyBatis历史
  • MyBatis优势

第三部分:Mybatis基本应用

  • 快速入门
  • Mybatis的Dao层实现

第四部分:Mybatis配置文件深入

  • SqIMapConfig.xml
  • mapper.xml

第五部分:Mybatis复杂映射开发

  • —对一查询
  • —对多查询
  • 多对多查询

第六部分:Mybatis注解开发

  • MyBatis的常用注解
  • MyBatis的增删改查
  • MyBatis的注解实现复杂映射开发
  • —对一查询(注解)
  • —对多查询(注解)
  • 多对多查询(注解)

第七部分:Mybatis缓存

  • 一级缓存
  • 二级缓存
  • 二级缓存整合redis

第八部分:Mybatis插件

  • 插件简介
  • Mybatis插件介绍
  • Mybatis插件原理
  • 自定义插件
  • 源码分析
  • pageHelper分页插件
  • 通用mapper

第九部分:Mybatis架构原理

  • 架构设计
  • 主要构件及其相互关系
  • 总体流程

第十部分:Mybatis源码剖析

  • 传统方式源码剖析
  • Mapper代理方式

第十—部分:设计模式

如今设计模式已经成为了衡量一个程序员技术水平的标准线,无论是一线城市的BATJM,还是其他的大大小小的企业都离不开它。