码农知识堂 - 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、日志:提供详细的日志输出信息,并且能够集成多种日志框架,其日志模块的一个主要功能就是集成第三方日志框架

  • 相关阅读:
    AI数字人凭什么杀疯了?AI技术赋予数字人多元化应用场景
    Java使用pdfbox将pdf转图片
    leetcode-hot100-矩阵
    【Leetcode刷题Python】密码校验
    C++入门【下】—— 预处理与内联函数关系
    Android 面(被)试(锤)现场还原~
    使用vscode编写第一个Hello World程序页面详细步骤
    R语言条件判断语句编程:使用if/else语句实现条件逻辑判断、使用all函数判断向量中的值是否全部都满足条件
    ETH开源PPO算法学习
    程序员亲试,人体工学椅真的有用吗?
  • 原文地址:https://blog.csdn.net/ejinxian/article/details/126314422
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号