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 语句本身。

相关推荐
噜噜噜阿鲁~1 天前
python学习笔记 | 10.0、面向对象编程
笔记·python·学习
nashane1 天前
HarmonyOS 6学习:Web组件同层渲染事件处理与智能长截图实现
前端·学习·harmonyos·harmonyos 5
nashane1 天前
HarmonyOS 6学习:Web组件同层渲染触摸事件与长截图拼接实战
前端·学习·harmonyos·harmonyos 5
stars-he1 天前
基于 Python 的 DTMF 双音多频信号识别实验
学习·dsp开发
wuxinyan1231 天前
工业级大模型学习之路012:RAG 零基础入门教程(第七篇):高级检索架构(解决分块不合理问题)
人工智能·学习·rag
xuhaoyu_cpp_java1 天前
SpringMVC学习(五)
java·开发语言·经验分享·笔记·学习·spring
炽烈小老头1 天前
【每天学习一点算法 2026/05/15】被围绕的区域
学习·算法·深度优先
秋雨梧桐叶落莳1 天前
iOS——ZARA仿写项目
学习·macos·ios·objective-c·cocoa
KKei16381 天前
Flutter for OpenHarmony 学习视频播放器技术文章
学习·flutter·华为·音视频·harmonyos
IronMurphy1 天前
Redis拷打第三讲
数据库·redis·mybatis