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

相关推荐
a11177611 小时前
2FA 验证码生成器(github登录验证 app)
笔记·学习
我的xiaodoujiao11 小时前
API 接口自动化测试详细图文教程学习系列32--Allure测试报告2
python·学习·测试工具·pytest
你想知道什么?13 小时前
线性回归-学习笔记
笔记·学习·线性回归
鱼毓屿御13 小时前
从「只会聊」到「边想边做」的跃迁
前端·学习·react.js
AOwhisky14 小时前
Python 学习笔记(第十五期)——运维自动化(下·后篇):堡垒机实战——paramiko高阶篇
运维·python·学习·云原生·自动化·运维开发
minglie116 小时前
zynq中linux系统的自动登录和免密登录
学习
茯苓gao16 小时前
嵌入式开发笔记:Qt信号槽机制深度解析——从原理到实战的全方位指南
开发语言·笔记·嵌入式硬件·qt·学习
我想我不够好。17 小时前
监控学习 7.23 1.5hour
学习
泰勒朗斯19 小时前
Helicopter FBI-405尾电机版本设置
学习
minglie120 小时前
香橙派zero3配个iic屏显示ip
linux·学习