mybatis面试题及答案
单项选择题(每题2分,共10题)
1.MyBatis中负责加载配置文件的核心类是()
A.SqlSessionB.SqlSessionFactoryC.ConfigurationD.MapperProxy
答案:B
2.MyBatis配置文件中,用于配置数据源的标签是()
A.dataSourceB.transactionManagerC.mappersD.properties
答案:A
3.在MyBatis映射文件中,使用()标签来定义SQL语句的缓存。
A.cacheB.selectC.insertD.update
答案:A
4.MyBatis中,SQL语句参数传递时,{}和${}的区别是()
A.没有区别B.{}会进行预编译,${}不会C.${}会进行预编译,{}不会D.二者使用场景相同
答案:B
5.以下关于MyBatis动态SQL的说法,错误的是()
A.可以根据条件动态生成SQL语句B.只能使用if标签C.有choose、when、otherwise等标签D.方便灵活处理SQL逻辑
答案:B
6.MyBatis中,要将查询结果映射到自定义对象,需要使用()
A.resultMapB.parameterMapC.sqlD.cache-ref
答案:A
7.MyBatis事务默认的管理方式是()
A.JDBC事务B.MANAGED事务C.AUTO事务D.CUSTOM事务
答案:A
8.若在MyBatis中使用注解配置SQL语句,在接口方法上使用的注解是()
A.@SelectB.@InsertC.@UpdateD.以上都是
答案:D
9.MyBatis中,用于处理一对多关系的标签是()
A.associationB.collectionC.idD.result
答案:B
10.以下哪个不是MyBatis的优点()
A.与JDBC相比,减少了大量重复代码B.完全不需要编写SQL语句C.灵活的SQL映射D.支持多种数据库
答案:B
多项选择题(每题2分,共10题)
1.以下属于MyBatis核心组件的有()
A.SqlSessionFactoryBuilderB.SqlSessionFactoryC.SqlSessionD.Mapper
答案:ABCD
2.MyBatis映射文件中可以定义的SQL标签有()
A.selectB.insertC.updateD.delete
答案:ABCD
3.下列关于MyBatis缓存的说法正确的是()
A.有一级缓存和二级缓存B.一级缓存是SqlSession级别的C.二级缓存是全局缓存D.缓存可以提高查询性能
答案:ABCD
4.在MyBatis中,使用动态SQL时,常用的标签有()
A.ifB.chooseC.trimD.foreach
答案:ABCD
5.以下哪些方式可以在MyBatis中配置数据源()
A.使用JDBC配置B.使用连接池C.自定义数据源D.不需要配置数据源
答案:ABC
6.MyBatis支持的数据库类型有()
A.MySQLB.OracleC.SQLServerD.PostgreSQL
答案:ABCD
7.关于MyBatis中参数传递说法正确的是()
A.可以传递单个参数B.可以传递多个参数C.可以传递对象参数D.可以传递Map参数
答案:ABCD
8.MyBatis中处理关联关系的标签有()
A.associationB.collectionC.resultMapD.parameterMap
答案:ABC
9.以下哪些是MyBatis的配置项()
A.propertiesB.settingsC.typeAliasesD.mappers
答案:ABCD
10.以下对MyBatis的描述正确的有()
A.是一个持久层框架B.专注于SQL与Java对象的映射C.减轻了JDBC的开发负担D.不支持分布式开发
答案:ABC
判断题(每题2分,共10题)