MyBatis学习日记——day01

1.MyBatis是什么?

MyBatis是开源的持久层框架。定制化sql、存储过程、高级映射。MyBatis避免几乎所有的jdbc代码和手动设置参数以及获取结果集。可以使用简单的xml文件或者注解来配置和映射原生信息,将接口和POJO映射成数据库中的记录

常见的一些持久层框架:

hibernate:全自动框架;

spring data jpa:基于hibernate实现;

mybatis:半自动框架,专注于sql的编写和优化;

1.1为什么说MyBatis是半自动的框架?与全自动框架的差别在哪?

Hibernate属于全自动ORM工具,使用Hibernate查询关联对象或关联集合的时候,可以根据对象关系模型直接获取,所以它是全自动的。而MyBatis在查询关联对象或关联集合的时候,需要手动编写sql来完成,所以是半自动ORM工具;

1.2ORM(对象关系映射)

O:object对象

R:Relational关系

M:Mapping映射

ORM就是指:为了解决java面向对象编程和关系型数据库之间的关联与双向转换,我们从数据库读出来的数据都是键值对类型的,我们通过反射机制将字段和其对应的Java实体类的属性相关联,实现数据库到java实体类对象的双向关联;

1.3MyBatis功能架构

2.1 基础支撑层

这一层负责最基础的功能,是整个框架的基石。它包括了连接管理(Connection Management)、事务管理(Transaction Management)、配置加载(Configuration Loading)以及缓存处理(Cache Handling)。系统将共用的功能抽取出来作为基础组件,为上层的数据处理提供支撑。

2.2 数据处理层

这是 MyBatis 的核心所在。它负责具体的 SQL 查找、解析、执行以及执行结果的映射处理。当你调用 API 时,这一层会根据你的请求完成一次完整的数据库操作,将数据库返回的"键值对"数据映射为 Java 对象(POJO)。

2.3 API 接口层

这是提供给外部开发人员直接使用的接口。我们通过调用这一层的 API 来操纵数据库,接口层一旦接收到调用请求,就会立即调用数据处理层来完成具体任务。

工作流程简述:

MyBatis 的工作流程大致可以概括为:读取配置文件(SqlMapConfig.xml) -> 创建 SqlSessionFactory -> 打开 SqlSession -> 执行 SQL -> 处理结果 -> 关闭资源。这个过程将繁琐的 JDBC 操作进行了封装,让我们只需关注 SQL 语句本身。

相关推荐
天空鸟_时光不老6 小时前
13-亮点提炼:把技术说辞翻译成业务价值
java·spring boot·spring·spring cloud·mybatis
lvqinglou6 小时前
学习Sql-part1 for婷姐
sql·学习·性能优化
扶风ff7 小时前
练题簿在线免费刷题:创建个人任务,把刷题、听题和模考目标放到每天的学习中
开发语言·javascript·学习·小程序
SatanII8 小时前
MySQL 数据库学习总结|理论 + SQL 实训完整笔记
数据库·学习·mysql
~kiss~8 小时前
LangGraph 之 Human-in-the-loop,人机协作/在环
学习
陈年老古董8 小时前
Hive 分区表学习笔记:语法、操作、二级分区与动态分区
hive·笔记·学习
li星野9 小时前
The 3 Common Tenses — Notes & Supplements
学习
小弥儿9 小时前
GitHub今日热榜 | 2026-10-09:PS5 移植登顶,AI 创作工具占三席
人工智能·学习·开源·github
全栈道9 小时前
AI 时代,软件开发应该如何学习
人工智能·学习
存在morning9 小时前
【OLAP 学习笔记】Doris:数据湖之上的分析查询引擎
笔记·学习