文章目录
- Mybatis
- 什么是Mybatis?
- MyBatis与Hibernate有哪些不同?
- JDBC 编程有哪些不足之处,MyBatis 是如何解决这些问题的?
- #{}和${}的区别是什么?
- 当实体类中的属性名和表中的字段名不一样如何解决?
- 通常一个Xml映射文件,都会写一个Dao接口与之对应,这个Dao接口的工作原理是什么?
- Mybatis是如何进行分页的?分页插件的原理是什么?
- 如何获取自动生成的id?
- 在mapper中如何传递多个参数?
- mybatis有哪些动态标签?
- MyBatis的mapper接口调用时有那些限定?
- 介绍一下mybatis缓存?
Mybatis
下边是我自己整理的面试题,基本已经很全面了,想要的可以私信我,我会不定期去更新思维导图
哪里不会点哪里
什么是Mybatis?
-
Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能,灵活度高
-
MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO映射成数据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集
-
通过xml 文件或注解的方式将要执行的各种 statement 配置起来,并通过java对象和 statement中sql的动态参数进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射为java对象并返回
MyBatis与Hibernate有哪些不同?
-
Mybatis和hibernate不同,它不完全是一个ORM框架,因为MyBatis需要程序员编写Sql语句。
-
Mybatis直接编写原生态sql,可以严格控制sql执行性能,灵活度