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

什么是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有哪些不同?

猜你喜欢

转载自blog.csdn.net/Java0258/article/details/106769657