mybatis面试题

1. 什么是 Mybatis?

2. Mybaits 的优点

3. MyBatis 框架的缺点:

4. MyBatis 框架适用场合:

5. MyBatis 与 Hibernate 有哪些不同?

6. #{}和${}的区别是什么?

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

8. 模糊查询 like 语句该怎么写?

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

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

11. Mybatis是如何将sql执行结果封装为目标对象并返回的? 都有哪些映射形式

12. 如何执行批量插入?

13. 如何获取自动生成的(主)键值?

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

15. Mybatis 动态 sql 有什么用?执行原理?有哪些动态 sql?

16. Xml 映射文件中,除了常见的 select|insert|updae|delete 标签之外,还有哪些标签?

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

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

19. 一对一、一对多的关联查询 ?

20. MyBatis 实现一对一有几种方式?具体怎么操作的?

21. MyBatis 实现一对多有几种方式,怎么操作的?

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

23. Mybatis 的一级、二级缓存

24. 什么是 MyBatis 的接口绑定?有哪些实现方式?

25. 使用 MyBatis 的 mapper 接口调用时有哪些要求?

26. Mapper 编写有哪几种方式

27. 简述 Mybatis 的插件运行原理,以及如何编写一个插件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatis是一个开源的持久层框架,它可以数据库操作与Java对象之间的映射关系进行配置,简化了数据库操作的编写过程。下面是一些常见的MyBatis面试题及其答案: 1. 什么是MyBatisMyBatis是一个持久层框架,它可以将数据库操作与Java对象之间的映射关系进行配置,简化了数据库操作的编写过程。 2. MyBatis的优点有哪些? - 简化了数据库操作的编写过程,提高了开发效率。 - 提供了灵活的SQL映射配置,可以满足各种复杂的查询需求。 - 支持动态SQL,可以根据不同的条件生成不同的SQL语句。 - 提供了缓存机制,可以提高查询性能。 - 与Spring等框架集成较为方便。 3. MyBatis的核心组件有哪些? MyBatis的核心组件包括: - SqlSessionFactory:用于创建SqlSession对象的工厂。 - SqlSession:用于执行SQL语句和管理事务。 - Mapper接口:定义了数据库操作的方法。 - Mapper XML文件:配置了SQL语句和结果映射关系。 4. MyBatis中的动态SQL是什么? 动态SQL是指根据不同的条件生成不同的SQL语句。MyBatis提供了一些标签(如if、choose、foreach等)来实现动态SQL的编写,可以根据条件判断、循环等来动态生成SQL语句。 5. MyBatis的一级缓存和二级缓存有什么区别? - 一级缓存是SqlSession级别的缓存,它默认开启且不可关闭。在同一个SqlSession中,如果执行了相同的查询语句,那么第二次以后的查询会直接从缓存中获取结果,而不会再去数据库查询。 - 二级缓存是Mapper级别的缓存,它可以跨SqlSession共享。当多个SqlSession执行相同的查询语句时,如果开启了二级缓存,那么第二次以后的查询会直接从缓存中获取结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值