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