Mybatis学习之简介(一)

一、MyBatis特性

  1. MyBatis 是一个 半自动的ORM(Object Relation Mapping)框架。(ORM,对象关系型映射,用于在面向对象编程语言和关系型数据库之间建立映射关系)。MyBatis 虽然自动化程度相对较低但是灵活性相对较高。
  2. Mybatis简化了与数据库的连接过程,因为其内部封装了JDBC的链接过程,所以无需手动建立和管理连接,这使得开发者能够专注于业务逻辑的实现。
  3. Mybatis通过将SQL语句从代码中完全分离出来,提高代码的可读性和维护性。

二、MyBatis的核心流程

Mybatis的核心流程包括:

  1. SQL映射
  2. 参数处理
  3. 执行SQL
  4. 结果映射

通过编写SQL映射文件,将POJO与SQL语句关联,并处理参数,执行SQL后映射结果到POJO,实现整个流程。

开发人员首先编写SQL映射文件,定义POJO与SQL之间的对应关系。随后,Mybatis框架负责参数处理,确保SQL语句的正确执行,并最终将结果映射为POJO对象供使用。

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

1、JDBC特点

  • SQL 夹杂在Java代码中耦合度高,导致硬编码内伤
  • 维护不易且实际开发需求中 SQL 有变化,频繁修改的情况多见
  • 代码冗长,开发效率低

2、Hibernate 和 JPA特点

  • 操作简便,开发效率高
  • 程序中的长难复杂 SQL 需要绕过框架
  • 内部自动生产的 SQL,不容易做特殊优化
  • 基于全映射的全自动框架,大量字段的 POJO 进行部分映射时比较困难。
  • 反射操作太多,导致数据库性能下降

2、MyBatis特点

  • 轻量级,性能出色
  • SQL 和 Java 编码分开,功能边界清晰。Java代码专注业务、SQL语句专注数据
  • 开发效率稍逊于HIbernate,但是完全能够接受
相关推荐
Albart57518 分钟前
2026年Python入门路线图:从零到实战的30天逐日详解(三)
学习·flask·#python30 天入门·python 实战教程·pytest 单元测试·python 虚拟环境·logging 日志
星恒随风1 小时前
C++ 继承进阶:默认成员函数、多继承、虚继承与组合设计
开发语言·c++·笔记·学习
电子云与长程纠缠1 小时前
UE中使用TGuardValue与TInlineComponentArray数据结构
开发语言·数据结构·学习·ue5·游戏引擎
2501_942389552 小时前
为支撑持续攀升的AI资本开支
人工智能·oracle·hbase·database·storm
caimouse2 小时前
MM 学习笔记 10:页面文件与系统加载器
笔记·学习·reactos
一只小菜鸡..2 小时前
南京大学 操作系统 (JYY) 学习笔记:Hello, OS World! (程序的机器视角)
java·笔记·学习
lazy H3 小时前
从入门到日常开发,一篇文章掌握 Git 核心操作
git·后端·学习·github
Ameilide12 小时前
51单片机学习 day1
嵌入式硬件·学习·51单片机
a11177615 小时前
2FA 验证码生成器(github登录验证 app)
笔记·学习
我的xiaodoujiao15 小时前
API 接口自动化测试详细图文教程学习系列32--Allure测试报告2
python·学习·测试工具·pytest