首页 关于我们 成功案例 网络营销 电商设计 新闻中心 联系方式
QQ联系
电话联系
手机联系

MyBatis进阶提升考试题,快来测测自己掌握的情况吧

发布时间:2025-08-31 08:08
发布者:网络
浏览次数:

mybatis进阶提升考试题,快来测测自己掌握的情况吧mybatis进阶测试 波哥为大家带来一套mybatis的面试题,测测你对mybatis的掌握程度吧

一、选择题

1.在MyBatis中,获取SqlSessionFactory对象时使用的设计模式是? A.工厂模式 B.建造者模式 C.装饰者模式 D.代理模式

2.以下哪个不属于MyBatis动态SQL的标签? A.if B.choose C.foreach D.else

3.关于#{}和${}的说法错误的是? A.${}方式没有预编译,不会缓存 B.#{}方式没有预编译,不会缓存 C.${}不能防止SQL注入 D.#{}能防止SQL注入

4.以下关于MyBatis的说法错误的是? A.MyBatis默认支持一级缓存但不支持二级缓存 B.MyBatis提供了动态SQL语句,这是MyBatis受欢迎的一个主要原因 C.MyBatis支持延迟加载 D.MyBatis中支持逻辑分页

5.在使用MyBatis时,除了可以使用@Param注解实现多参数入参外,还可以使用()传递多个参数值。 A.Map B.List C.数组 D.Set

6.以下不属于MyBatis基础支持模块的是? A.日志模块 B.binding模块 C.解析器模块 D.插件

7.Executor默认的类型是 A.SIMPLE B.REUSE C.BATCH

8.在MyBatis中,StatementHandler接口的默认实现是? A.SimpleStatementHandler B.PreparedStatementHandler C.CallableStatementHandler

9.关于反射工具的描述错误的是 A.对常见的反射操作进一步封装,提供了更加简洁方便的API B.每一个Reflector对象都对应一个J*a类 C.通过ReflectorFactory获取Reflector对象 D.ReflectorFactory中不支持缓存Reflector对象

10.关于缓存的描述错误的是 A.缓存设计使用到了装饰器模式 B.缓存中的PerpetualCache中数据是保持在内存中的 C.二级缓存默认是关闭的 D.在执行查询操作时会先在一级缓存中查找然后再去二级缓存中查找

11.关于TypeHandler的描述错误的是? A.TypeHandler的作用是实现J*aType和JDBCType的双向转换 B.BaseTypeHandler实现了TypeHandler接口实现了对空数据的处理 C.系统中的众多TypeHandler实现类都保存在TypeHandlerRegistry中,方便我们查找使用 D.我们自定义的TypeHandler仅仅只需要继承BaseTypeHandler即可

MarsCode MarsCode

字节跳动旗下的免费AI编程工具

MarsCode 339 查看详情 MarsCode

12.关于日志模块的说法错误的是 A.日志模块使用到了适配器模式 B.日志模块中默认使用的日志框架是slf4j C.日志模块中jdbc包提供了将日志信息保存到数据库中的功能 D.我们可以在settings配置中来指定我们要使用的日志框架

13.关于binding模块的描述错误的是 A.MapperRegistry中保存了接口和MapperProxy的对应关系 B.MapperRegistry中保存了接口和MapperProxyFactory的对应关系 C.MapperProxyFactory的作用是创建接口的代理对象。 D.本质上Mapper接口的代理对象就是MapperProxy

14.关于缓存的描述错误的是 A.MyBatis中自带的有一级缓存和二级缓存 B.MyBatis中的一级缓存默认就是打开的 C.MyBatis中的二级缓存默认是关闭的,需要我们手动打开 D.我们执行SQL查询操作的时候是先检查一级缓存再检查二级缓存的

15.关于MyBatis中核心对象的生命周期描述错误的是? A.SqlSessionFactoryBuilder实例的最佳作用域是方法范围,也就是定义为本地方法变量既可 B.SqlSessionFactory实例的生命周期应该在整个应用的执行期间都存在 C.SqlSession实例时线程不安全的,因此其生命周期应该是请求或方法范围 D.SqlSession实例通常定义为一个类的静态变量

16.关于Executor的描述错误的是? A.SimpleExecutor:每执行一次update或select,就开启一个Statement对象,用完立刻关闭Statement对象。 B.ReuseExecutor:每执行一次update或者select操作,会以SQL为key查找Statement对象,存在就使用,不存在就创建,用完后不关闭,而是以SQL为key保存在Map对象中,实现了Statement的复用 C.BatchExecutor:执行update(没有select,JDBC批处理不支持select),将所有sql都添加到批处理中(addBatch()),等待统一执行(executeBatch()),它缓存了多个Statement对象,每个Statement对象都是addBatch()完毕后,等待逐一执行executeBatch()批处理。与JDBC批处理相同。 D.Executor的这些特点,都严格限制在SqlSessionFactory生命周期范围内

17.在MyBatis中关于插件的描述错误的是 A.MyBatis中的插件只能拦截Executor、StatementHandler、ParameterHandler、ResultSetHandler这四个对象中的特定方法,其他对象都是不能拦截的 B.MyBatis中提供的Plugin是实现了InvocationHandler接口的代理类。 C.在自定义拦截器的过程中我们通过@Intercept注解来指定要拦截的方法 D.插件是MyBatis提供给我们来扩展和增强MyBatis功能的

18.关于MyBatis整合Spring中的说明错误的是 A.MyBatis整合到Spring中后相关的核心对象会交给Spring容器管理 B.DefaultSqlSession是线程不安全的,所以在Spring中通过SqlSessionTemplate来处理 C.SqlSessionTemplate中是通过同步代码块包保证数据安全的 D.SqlSessionTemplate是通过ThreadLocal来保证数据安全的

二、简单题

1.介绍下MyBatis的工作原理

2.介绍下MyBatis的插件机制

3.介绍下MyBatis的缓存机制

以上就是MyBatis进阶提升考试题,快来测测自己掌握的情况吧的详细内容,更多请关注其它相关文章!


# mybatis  # java  # 工具  # sql语句  # 作用域  # 延迟加载  # 防止sql注入  # spring容器  # red  # 的是  # 进阶  # 批处理  # 测测  # 快来  # 都是  # 实现了  # 多个  # 加载  # 自定义  # 珠宝行业网站推广运营  # 青岛网站建设作用大吗  # 酒店网站建设蓝云  # 金华seo白帽技术  # 龙游推广营销公司电话  # 陕西站群seo系统  # 抚顺seo软件推荐公司  # 茂名网站开发建设  # 余姚建设银行网站  # 数据库营销推广