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,但是完全能够接受
相关推荐
ChinaRainbowSea1 小时前
用户中心——比如:腾讯的QQ账号可以登录到很多应用当中 02
java·服务器·spring boot·后端·mysql·mybatis
gjf05_052 小时前
人该怎样活着呢?55
学习
试着2 小时前
零基础学习性能测试第二章-linux服务器监控:CPU监控
linux·服务器·学习·零基础·性能测试·cpu监控
秋秋棠3 小时前
MyBatis动态SQL全解析:五大核心标签实战指南
数据库·sql·mybatis
名字不要太长 像我这样就好3 小时前
【iOS】消息传递和消息转发
开发语言·学习·macos·ios·objective-c
屁股割了还要学4 小时前
【C语言进阶】题目练习(3)
c语言·开发语言·c++·学习·算法·青少年编程
wjpwjpwjp08314 小时前
[MySQL基础3] 数据控制语言DCL和MySQL中的常用函数
数据库·笔记·后端·学习·mysql
典孝赢麻崩乐急5 小时前
Java学习--------消息队列的重复消费、消失与顺序性的深度解析
java·开发语言·学习
斟的是酒中桃5 小时前
【学习记录】智能客服小桃(进度更新ing)
人工智能·python·学习·语言模型·langchain·agent