码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • MyBatis简述


    文章目录

      • 1、总体技术体系
        • ①单一架构
        • ②分布式架构
      • 2、Mybatis历史
      • 3、Mybatis特性
      • 4、和其它持久化层技术对比

    1、总体技术体系

    ①单一架构

    一个项目,一个工程,导出为一个war包,在一个Tomcat上运行。也叫all in one。

    ②分布式架构

    一个项目(对应 IDEA 中的一个 project),拆分成很多个模块,每个模块是一个 IDEA 中的一个 module。每一个工程都是运行在自己的 Tomcat 上。模块之间可以互相调用。每一个模块内部可以看成是一个单一架构的应用。

    2、Mybatis历史

    iBatis一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。 iBatis提供的持久层框架包括SQL Maps和Data Access Objects(DAO)。

    Mybatis的最大特点:轻量级。相对于Hibernate省略了大量不常用的功能,整体轻巧又高效。

    3、Mybatis特性

    • MyBatis支持定制化SQL、存储过程以及高级映射
    • MyBatis避免了几乎所有的JDBC代码和手动设置参数以及结果集解析操作
    • MyBatis可以使用简单的XML或注解实现配置和原始映射;将接口和Java的POJO(Plain Ordinary Java Object,普通的Java对象)映射成数据库中的记录
    • Mybatis是一个半自动的ORM(Object Relation Mapping)框架

    4、和其它持久化层技术对比

    • JDBC
      • SQL 夹杂在Java代码中耦合度高,导致硬编码内伤
      • 维护不易且实际开发需求中 SQL 有变化,频繁修改的情况多见
      • 代码冗长,开发效率低
    • Hibernate 和 JPA
      • 操作简便,开发效率高
      • 程序中的长难复杂 SQL 需要绕过框架
      • 内部自动生成的 SQL,不容易做特殊优化
      • 基于全映射的全自动框架,大量字段的 POJO 进行部分映射时比较困难。
      • 反射操作太多,导致数据库性能下降
    • MyBatis
      • 轻量级,性能出色
      • SQL 和 Java 编码分开,功能边界清晰。Java代码专注业务、SQL语句专注数据
      • 开发效率稍逊于 HIbernate,但是完全能够接收

    开发效率:Hibernate>Mybatis>JDBC

    运行效率:JDBC>Mybatis>Hibernate

  • 相关阅读:
    Newman+Jenkins实现接口自动化测试
    ORA-22992 cannot use LOB locators selected from remote tables
    C++ 转杯子猜球位置 游戏
    rsync 备份工具(附rsync+inotify 实时同步部署实例)
    最小生成树算法之 Kruskal 和 Prim
    十二月,我们一起在云台山风景区赏雪
    ubuntu20.04 实测 机械式激光雷达与相机联合标定
    Mysql专栏(四) Mysql锁机制
    JMeter基本操作
    stm32驱动GC9A01显示(整理有stm32/51单片机/arduino等驱动代码)
  • 原文地址:https://blog.csdn.net/weixin_57341232/article/details/127660115
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号