Mybatis面试学习

1.介绍一下mybatis

mybatis是一个半自动的ORM的框架,ORM就是对象关系映射。(对象指的是Java对象,关系指的是数据库中的关系模型,对象关系映射,指的就是在Java对象和数据库的关系模型之间建立一种对应关系)全自动化有Hibernate。他是基于JDBC封装的框架。更专注于SQL语句的编写,简化了开发步骤,不需要再去关系加载驱动等等这些,提高了我们的开发效率。

2.mybatis的工作原理

系统启动加载全局配置文件和映射文件,加载解析的相关信息回存储在Configuration对象里面。

创建SqlSessionFactory,调用sqlsessionfactorybuilder的buil(in)方法。

根据sqlsessionfactor对象中的opensession()获取sqlsession对象

获取代理对象

  1. 编写mapper.xml,书写SQL,并定义好SQL的输入参数,和输出参数
  2. 编写全局配置文件,配置数据源,以及要加载的mapper.xml文件
  3. 通过全局配置文件,创建SqlSessionFactory
  4. 每次进行CRUD时,通过SqlSessionFactory创建一个SqlSession
  5. 调用SqlSession上的selectOne,selectList,insert,delete,update等方法,传入mapper.xml中SQL标签的id,以及输入参数
相关推荐
奋进的芋圆13 小时前
Java 延时任务实现方案详解(适用于 Spring Boot 3)
java·spring boot·redis·rabbitmq
sxlishaobin13 小时前
设计模式之桥接模式
java·设计模式·桥接模式
Edward.W13 小时前
Python uv:新一代Python包管理工具,彻底改变开发体验
开发语言·python·uv
小熊officer13 小时前
Python字符串
开发语言·数据库·python
model200513 小时前
alibaba linux3 系统盘网站迁移数据盘
java·服务器·前端
渐暖°13 小时前
JDBC直连ORACLE进行查询
数据库·oracle
月疯13 小时前
各种信号的模拟(ECG信号、质谱图、EEG信号),方便U-net训练
开发语言·python
荒诞硬汉13 小时前
JavaBean相关补充
java·开发语言
提笔忘字的帝国13 小时前
【教程】macOS 如何完全卸载 Java 开发环境
java·开发语言·macos
萧曵 丶13 小时前
Next-Key Lock、记录锁、间隙锁浅谈
数据库·sql·mysql·mvcc·可重复读·幻读