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

相关推荐
君子剑mango1 小时前
mybatis plus逻辑删除
mybatis
楼田莉子2 小时前
CMake学习:动态库场景下的应用
c++·后端·学习·软件构建
南境十里·墨染春水2 小时前
linux学习进程 线程同步——读写锁
java·jvm·学习
知识分享小能手2 小时前
R语言入门学习教程,从入门到精通,R语言基础 - 完整知识点与案例代码(1)
开发语言·学习·r语言
lwf0061642 小时前
偏导数学习日记
学习·机器学习
.千余2 小时前
【Linux】开发工具2:vim
linux·服务器·开发语言·学习
zhangyueping83852 小时前
大模型学习笔记-调用模型和基础使用
笔记·学习
承渊政道3 小时前
【动态规划算法】(斐波那契数列模型详解)
数据结构·c++·学习·算法·leetcode·macos·动态规划
南境十里·墨染春水3 小时前
linux学习进展 网络基础
linux·网络·学习