《第五章【拓展进阶(上)】框架源码》之《第二节 Mybatis框架原理》

5 篇文章 0 订阅

《5.2.1 MyBatis简介和优势》24分左右:Mybatis与Hibernate的区别

MybatisHibernate
轻量级重量级
半自动(仅有基本的字段映射,对象数据以及对象实际关系仍然需要通过手写sql来实现和管理)自动(通过对象关系模型实现对数据库的操作,拥有完整的JavaBean对象与数据库的映射结构来自动生成sql)

《5.2.2 手写MyBatis》
20:51, 87分: MyBatis中的动态代理
72分:
在这里插入图片描述

《5.2.4 高级应用-分页插件》

  • Mybatis插件(Interceptor)又称为拦截器,责任链模式:
    在这里插入图片描述

  • 2:22 Mybatis四大核心接口对象:
    在这里插入图片描述

每个拦截器都对目标类进行一次代理(层层代理):(左边类为org.apache.ibatis.session.Configuration)
在这里插入图片描述

  • 通过实现Interceptor接口,拦截StatementHandler,可实现分页功能

《5.2.5 高级应用-读写分离插件》:

  • 1:59 数据库的读写分离:
    在这里插入图片描述

  • 4:49 docker安装mysql主从

  • 通过Mybatis拦截器获取当前sql为读或写,再通过实现spring的AbstractRoutingDataSource选择相应的datasource
    在这里插入图片描述
    《5.2.6 高级应用-缓存》:

  • 2分 Mybatis缓存结构 :Mybatis一级缓存默认开启,一级缓存基于sqlsession。二级缓存基于mapper文件的namespace
    在这里插入图片描述

  • 8:16 :
    在这里插入图片描述
    二级缓存似乎也差不多?

  • 后段: Mybatis二级缓存整合redis

《5.2.7 高级应用-自定义类型处理器》:通过实现Mybatis的TypeHandler接口来实现自定义类型转换器。可通过此方式,使用base64实现对敏感数据的加解密功能

《5.2.8-面试题分析》

  • 14:52 Mybatis延迟加载的原理,cglib动态代理
  • 25:35 Mybatis分页原理
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_23204557

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值