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,但是完全能够接受
相关推荐
STLearner40 分钟前
AI论文速读 | U-Cast:学习高维时间序列预测的层次结构
大数据·论文阅读·人工智能·深度学习·学习·机器学习·数据挖掘
记得记得就1511 小时前
【MySQL数据库管理】
数据库·mysql·oracle
黑客思维者2 小时前
LLM底层原理学习笔记:Adam优化器为何能征服巨型模型成为深度学习的“速度与稳定之王”
笔记·深度学习·学习·llm·adam优化器
kk哥88992 小时前
Swift底层原理学习笔记
笔记·学习·swift
AA陈超4 小时前
Lyra学习004:GameFeatureData分析
c++·笔记·学习·ue5·虚幻引擎
zkl_zkl_5 小时前
地理信息系统学习笔记——第六章 空间数据采集与处理
笔记·学习·数据处理·数据质量·空间数据
光头程序员5 小时前
学习笔记——主攻 vite
笔记·学习
零匠学堂20255 小时前
移动学习系统,如何提升企业培训效果?
java·开发语言·spring boot·学习·音视频
瀚高PG实验室5 小时前
Oracle或DM(达梦)时间戳之间的差值SQL迁移到瀚高数据库
数据库·sql·oracle·瀚高数据库
TL滕6 小时前
从0开始学算法——第四天(题目参考答案)
数据结构·笔记·python·学习·算法