Mybatis知识点总结与常见面试题分享

这篇博客详细介绍了MyBatis的起源、优势及在业内广泛应用的原因,强调了它是JDBC和Hibernate之间的平衡选择。内容包括MyBatis的配置信息、关联映射、缓存机制、Mapper代理和逆向工程,以及MyBatis与Spring的整合。同时,博主分享了常见的MyBatis面试题,涵盖了动态SQL、XML映射文件、接口绑定、执行器等关键知识点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是MyBatis

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis。是一个基于Java的持久层框架

为什么我们要用Mybatis?

无论是Mybatis、Hibernate都是ORM的一种实现框架,都是对JDBC的一种封装!

到目前为止,我们已经在持久层中学了几种技术了……

  • Hibernate
  • jdbc
  • SpringDAO

那我们为啥还要学Mybatis呢???现在Mybatis在业内大行其道,那为啥它能那么火呢??

Hibernate是一个比较老旧的框架,用过它的同学都知道,只要你会用,用起来十分舒服……啥sql代码都不用写……但是呢,它也是有的缺点:处理复杂业务时,灵活度差, 复杂的HQL难写难理解,例如多表查询的HQL语句

而JDBC很容易理解,就那么几个固定的步骤,就是开发起来太麻烦了,因为什么都要我们自己干.

我们可以认为,Mybatis就是jdbc和Hibernate之间的一个平衡点……毕竟现在业界都是用这个框架,我们也不能不学呀!

 

由于本文档共101页,内容太多无法全部展现,需要完整版的私信“文档”免费获取,下面我就默默放图了;

Mybatis配置信息

 

关联映射

 

缓存+Mapper代理+逆向工程

本文主要讲解Mybatis的以下知识点:

Mybatis缓存一级缓存二级缓存与Ehcache整合Mapper代理使用Mapper代理就不用写实现类了逆向工程自动生成代码

 

Mybatis整合Spring

 

Mybatis常见面试题

1. #(}和${)的区别是什么?

2.当实体类中的属性名和表中的字段名不-一样。怎么办?

3.如何获取自动生成的(主)能值?

4.在mapper中如何传递多个参数?

5. Mybatis动态sq|是做什么的?都有哪些动态sq|?能简述-下动态 sq的执行原理不?

6. Mybatis的Xml映射文件中,不同的Xm跌射文件,id是 否可以重复?

7.为什么说Mybati是半自动ORM映射工具?它与全自动的区别在哪里?

8.通常-个Xml映射文件,都会写-个Dao接口与之对应,请问,这个Dao接口的工作原理是什么? Dao接口里的方法,参数不同时,方法能重载吗?

9. Mybatis比iBatis比较大的几个改进是什么

10.接口绑定有几种实现方式分别是怎么实现的?

11. Mybatis是如何进行分页的?分页插件的原理是什么?

12.简述Mybatis的播件运行原理,以及如何编写-个插件

13. Mybatis是否支持延迟加载?如果支持,它的实现原理是什么? .

14. Mybatis都有哪些Executor执行器?它们之间的区别是什么? .

15. MyBatis与Hibernate有哪些不同?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值