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

相关推荐
千寻girling12 小时前
记录第一次学习 Docker
学习·docker·容器
Kobebryant-Manba13 小时前
学习RNN(简洁实现)
人工智能·rnn·学习
知南x13 小时前
【DPDK例程学习】(4) l2fwd
学习·word
努力努力再努力FFF13 小时前
大学四年AI能力规划:从入门学习到简历表达
人工智能·学习
Litluecat14 小时前
配合多角色提示语3,学习AI漫剧(刚开始学)
人工智能·学习·ai·提示词·短剧·漫剧
三品吉他手会点灯14 小时前
STM32F103 学习笔记-24-I2C-读写EEPROM(第1节)-I2C物理层介绍
笔记·stm32·学习
MartinYeung514 小时前
[论文学习]大型语言模型中个人可识别资讯(PII)的机器遗忘技术:UnlearnPII 基准与 PERMU_tok 方法的深度分析
人工智能·学习·语言模型
fanged14 小时前
Linux内核学习21--V4L2学习3(应用)(TODO)
学习
摇滚侠14 小时前
MyBatis 入门到项目实战 特殊 SQL 的执行 34-37
java·sql·mybatis
摇滚侠16 小时前
MyBatis 入门到项目实战 MyBatis 的缓存 56-61
java·缓存·mybatis