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,以及输入参数
相关推荐
不染尘.1 分钟前
最短路径之Bellman-Ford算法
开发语言·数据结构·c++·算法·图论
格林威1 分钟前
工业相机图像采集:Grab Timeout 设置建议——拒绝“假死”与“丢帧”的黄金法则
开发语言·人工智能·数码相机·计算机视觉·c#·机器视觉·工业相机
xiaoye-duck3 分钟前
C++ STL set 系列深度解析:从底层原理、核心接口到实战场景
开发语言·c++·stl
小涛不学习4 分钟前
Java高频面试题(带答案版)
java·开发语言
big_rabbit05024 分钟前
JVM堆内存查看命令
java·linux·算法
Liu628885 分钟前
Web开发与API
jvm·数据库·python
m0_662577976 分钟前
C++中的RAII技术深入
开发语言·c++·算法
m0_743470378 分钟前
Python字典与集合:高效数据管理的艺术
jvm·数据库·python
2501_945423549 分钟前
使用Scrapy框架构建分布式爬虫
jvm·数据库·python
yhole11 分钟前
MySQL无法连接到本地localhost的解决办法2024.11.8
数据库·mysql·adb