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,以及输入参数
相关推荐
daqinzl3 分钟前
java获取机器ip、mac
java·mac·ip
k093312 分钟前
sourceTree回滚版本到某次提交
开发语言·前端·javascript
激流丶18 分钟前
【Kafka 实战】如何解决Kafka Topic数量过多带来的性能问题?
java·大数据·kafka·topic
神奇夜光杯20 分钟前
Python酷库之旅-第三方库Pandas(202)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
Themberfue22 分钟前
Java多线程详解⑤(全程干货!!!)线程安全问题 || 锁 || synchronized
java·开发语言·线程·多线程·synchronized·
plmm烟酒僧24 分钟前
Windows下QT调用MinGW编译的OpenCV
开发语言·windows·qt·opencv
测试界的酸菜鱼35 分钟前
Python 大数据展示屏实例
大数据·开发语言·python
时差95337 分钟前
【面试题】Hive 查询:如何查找用户连续三天登录的记录
大数据·数据库·hive·sql·面试·database
让学习成为一种生活方式39 分钟前
R包下载太慢安装中止的解决策略-R语言003
java·数据库·r语言
晨曦_子画44 分钟前
编程语言之战:AI 之后的 Kotlin 与 Java
android·java·开发语言·人工智能·kotlin