Mybatis框架面试题

本文围绕MyBatis框架展开,对比了JDBC与MyBatis的不足,介绍了MyBatis编程步骤,区分了MyBatis与Hibernate的不同,说明了Mapper接口调用要求,阐述了一级和二级缓存机制,还提及MyBatis对数据库操作及生成对象的功能。

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

JDBC与Mybatis框架相比有何不足?

1.数据库连接的频繁创建浪费系统的性能.
2.sql语句写在了配置文件中与Java分离,便于维护.
3.不需要再对结果集进行遍历解析,框架直接将结果封装成pojo对象.
4.解决sql语句传参麻烦,Mybatis自动将对象映射进sql语句中.

Mybatis编程的步骤是什么?

1.创建SqlSessionFactory工厂(Mybatis工厂)
2.通过工厂创建SqlSession.
3.SqlSession执行数据库操作.
4.Session.commit()提交事务.
5.Session.close()关闭会话.

Mybatis与hibernater有哪些不同?

1.Mybatis不完全是一个ORM框架.因为Mybatis需要程序员自己编写Sql语句,不过Mybatis可以通过XML或注解的方式灵活运用sql语句.
2.Hibernate是完全的ORM框架,映射能力强,可以直接根据你的对象生成数据库表,提高了开发效率.

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

① Mapper接口方法名和mapper.xml中定义的每个sql的id相同

② Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql 的parameterType的类型相同

③ Mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的resultType的类型相同

④ Mapper.xml文件中的namespace即是mapper接口的类路径。

简单的说一下MyBatis的一级缓存和二级缓存?

Mybatis首先去缓存中查询结果集如果没有就查询数据库.Mybatis内部存储缓存使用一个HashMap,key为hashCod+Sqlid+SQL语句 ,value为映射出来的对象.
Mybatis的二级缓存即查询缓存,它的作用域是一个mapper的namespace,即在同一个namespace中查询sql可以从缓存中获取数据。二级缓存是可以跨SqlSession的。

Mybatis对数据库的操作以及根据配置文件和接口生成对象

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值