码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Mybatis 的架构原理解读


           MyBatis 是 Java 生态中非常著名的一款 ORM 框架,目前在一线互联网大厂中应用广泛,Mybatis 已经成为了一个必会框架。

          理解 MyBatis 原理,阅读 MyBatis 核心源码,需要先 Mybatis 的整体架构和工作原理总体思路。

    1、Mybatis 架构设计

     Mybatis 的功能架构分为三层:API 接口层、数据处理层、基础支撑层

           接口层:主要就是和数据库交互,提供给外部使用的接口 API,开发人员通过这些本地 API 来操纵数据库,接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理

           数据处理层:可以说是 MyBatis 的核心,负责具体的 SQL 查找、SQL 解析、SQL 执行和执行结果映射处理等,它主要的目的是根据调用的请求完成一次数据库操作。

    • 通过传入参数构建动态 SQL 语句
    • SQL 语句的执行以及封装查询结果集

         基础支撑层是整个 MyBatis 框架的地基,负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件,为上层的数据处理层提供最基础的支撑

    1、缓存机制:MyBatis 就提供了一级缓存和二级缓存,具体实现位于基础支撑层的缓存模块中。

    2、反射工具:对反射操作进行了一系列优化,例如缓存了类的元数据,提高了反射操作的性能。

    3、类型转换:类型转换模块提供了两个主要功能,一个功能是别名机制,MyBatis 为了简化配置文件提供了别名机制。另一个功能是实现 JDBC 类型与 Java 类型之间的转换。

    4、日志:提供详细的日志输出信息,并且能够集成多种日志框架,其日志模块的一个主要功能就是集成第三方日志框架

  • 相关阅读:
    12333 - Revenge of Fibonacci (UVA)
    小县城蔬菜配送小程序
    CSS 滚动驱动动画 animation-range
    1.报表平台规划
    靶场通关记录
    【Java】# 256位密钥加密错误,java.security.InvalidKeyException:Illegal key size错误
    基于springboot+vue.js+uniapp的房屋租赁系统附带文章源码部署视频讲解等
    docker-compose + elasticsearch7.6(配置密码及证书) + kibana7.6 + elasticsearch-head搭建集群
    STM32F407ZGT6|串口发送数据给上位机(定时)
    Stm32_标准库_12_串口_发送数据
  • 原文地址:https://blog.csdn.net/ejinxian/article/details/126314422
  • 最新文章
  • 【FHE】我们如何实现同态加密推理(八):SiLU 的密文化——两条路径,和一个 8 字节的开关
    SQLcl 中 c/old/new 替换变量为何失效?先定位再替换
    不让模型写作文,直接从它脑子里读答案:Jev 决策在 .NET 的两条路线
    Halo插件:支持GitHub的图床附件策略
    电视投屏界的“一股清流”!SimpleTVCast 6.0.0-beta 抢先体验:无需TV端App,界面大换血!✨
    华三VXLAN集中式网关实战指南:Spine多活网关 + 双活接入(M-LAG)
    软件更好写之后口碑会更重要
    大 O、大 Omega、大 Theta 的区别,O(n) 复杂度是什么意思
    Java标签跳转:一个鲜为人知但却很实用的小技巧
    多智能体系统论文速读
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号