MyBatis常见的概念性面试题

本文详细介绍了MyBatis的重要面试题,涵盖填空、多选、单选及问答题,内容包括#{ }与$ { }的区别、缓存机制、XML映射文件中ID的管理、MyBatis的灵活性、动态SQL、一级和二级缓存、接口绑定方式等。通过对这些问题的解答,揭示了MyBatis的原理、优缺点、适用场景及其在实际开发中的运用。
摘要由CSDN通过智能技术生成

MyBatis常见的概念性面试题

一.填空题

1.#{}和$ {}的区别是什么?#{}是_____,${}是_____。

正确答案: 预编译处理 字符串替换

2. MyBatis中提供了一级缓存和二级缓存,其中()默认存在,不可控制,同一SqlSession范围内的操作共享该缓存,增、删、改后将()。

正确答案:一级缓存 清除缓存

3.Mybatis的Xml映射文件中,不同的Xml映射文件,id是否可以重复? 不同的Xml映射文件,如果配置了namespace,那么id____;如果没有配置namespace,那么id____;

正确答案: 可以重复 不能重复

4.MyBatis是一款优秀的支持自定义SQL查询、存储过程和高级映射的()框架,几乎封装了所有的JDBC代码和参数的手动设置以及结果集的检索,通过XML或注解的方式进行配置映射实现数据库操作,大大提高了开发效率。

正确答案:持久层

二.多选题

1.对mybatis描述有误的是?

A. MyBatis 是一个可以自定义 SQL、存储过程和高级映射的持久层框架
B. MyBatis 的缓存分为一级缓存和二级缓存,一级缓存放在 session 里面
C. Mybatis是一个全ORM(对象关系映射)框架,它内部封装了JDBC
D. MyBatis 只可以使用 XML来配置和映射原生信息
正确答案: C, D

2. Mybatis是如何将sql执行结果封装为目标对象并返回的

A. id
B. 标签
C. 使用sql列的别名
D. resultType
正确答案: B, C

3.mybaties中模糊查询like语句的写法

A. select * from foo where bar like #{value}
B. select * from foo where bar like #{%value%}
C. select * from foo where bar like %#{value}%
D. select * from foo where bar like “%”${value}"%"
正确答案: A, D

4.Mybatis的Xml映射文件中,不同的Xml映射文件,id是否可以重复? 选择说法正确的

A. 不同的Xml映射文件,如果配置了namespace,那么id可以重复
B. 如果没有配置namespace,那么id不能重复
C. 如果没有配置namespace,id能重复
D. 不同的Xml映射文件,如果配置了namespace,那么id不可以重复
正确答案: A, B

5.Mybatis的mapper接口调用时候的要求正确的是

A. Mapper接口方法名和Mapper.xml中定义的每个SQL的id相同;
B. Mapper接口方法的输入参数类型和mapper.xml中定义的每sqlparameterType类型相同
C. Mapper接口方法的输入输出参数类型和mapper.xml中定义的每个sqlresultType的类型相同
D. Mapper.xml文件中的namespace,就是接口的名字
正确答案: A, B, C

6.MyBatis内置类型别名有

A. _int
B. Integer
C. int
D. String
正确答案: A, C

7.Mybatis动态sql标签有哪些?

A. trim
B. foreach
C. set
D. than
正确答案: A, B, C

8.Mybaits的优点正确的是?

A. 基于SQL语句编程,相当灵活,不会对应用程序或者数据库的现有设计造成任何影响,SQL写在XML里,解除sql与程序代码的耦合,便于统一管理
B. 与JDBC相比,减少了50%以上的代码量,消除了JDBC大量冗余的代码,不需要手动开关连接
C. 很好的与各种数据库兼容
D. 它是一全个ORM框架,MyBatis不需要程序员自己编写Sql语句。
正确答案: A, B, C

9.实体类中的属性名和表中的字段名不一样怎么处理?【选择二项】

A. 查询的sql语句中定义字段名的别名分数: 2
B. 不用处理
C. 通过来映射字段名和实体类属性名
D. 通过来映射字段名和实体类属性名
正确答案: A, C

三. 单选题

1.在mybatis的配置文件中,通过( )标签来设置实体类的别名。

A. properties
B. settings
C. typeAliases
D. dataSource
正确答案: C

2. 下列( )不属于 MyBatis全局配置文件中的标签

A. settings
B. select
C. plugins
D. properties
正确答案: B

3.在Mybatis中,SQL映射文件中配置insert语句时,在SQLSERVER中插入语句所在的表的ID为自动增长列,下列关于insert标签的说法,正确的是( )

A. 必须要显示插入标识列中的值
B. 使用任何数据库都可以使用自动生成主键策略
C. useGeneratedKeys属性对update标签也有作用
D. 可以使用useGeneratedKeys属性允许标识列的自动增长用于生成主键
正确答案: D

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值