MyBatis错题合集
Posted 9geg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatis错题合集相关的知识,希望对你有一定的参考价值。
1、MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用,但是resultType跟resultMap不能同时存在
2、resultType与resultMap在任何时候都不可以同时使用。
对于resultMap自动映射有三个匹配级别,当采用默认级别配置的时候,若使用association进行内部嵌套的话,只能匹配你指定的属性
3、在MyBatis中,对于Insert映射语句有一个useGeneratedKeys属性,该属性的默认值为 false
4、关于MyBatis中sq1映射文件中各个元素说法正确的是
增删改(insert, delete, update)这些数据库操作默认返回执行SQL影响的行数,所以DA0层.
的接口的方法返回值一般设置为int类型
insert,delete,update这些更新数据操作元素中不能设置resultType,resultMap
5、在MyBatis中,以下关于“无效的列类型: 1111 错误” 说法正确的选项是
以上错误通常是由于传入参数的属性与数据库字段类型不-致导致
以上错误的解决办法是排查所有传入参数与数据库对应字段的类型,
以上错误的解决办法是通过指定jdbcType类型来避免
6、在MyBatis中,关于mapper配置文件常用属性的说法中正确的是
parameterType属性用来指定传入参数的类型
flushCache用来指定执行语句后是否会清空缓存,增删改操作时默认为true
timeout属性用来指定驱动程序等待数据库返回结果的超时时间
7、在MyBatis的应用中,我们一般需要设置一个超时时间,当数据库操作超过超时时间后MyBatis将执行异常终止操作,可以用 defaultStatementTimeout来设置全局超时时间
8、在MyBatis中,说法正确的是
9、在使用MyBatis的时候,除了可以使用@Param注解来实现多参数入参,还可以用 Map对象可以实现传递多参数
10、在MyBatis的开发中,表中的字段名和表对应实体类的属性名称不一定都是完全相同的,说法正确的是
A:查询的列起和类属性名相同的别名, 让字段名的别名和实体类的属性名一致
B: MyBatis可以配置resul tlMap标签,来映射字段名和实体类属性名的一一对应关系
11、Mybatis中,关于resultlMap collection嵌套查询(select)方式说法正确的是
Column属性设置关联的主键列,用于嵌套查询SQL语句传入参数,多个用逗号分开。
12、在MyBatis中,下列关于resultType和resultMap说法正确的是 resultType也可以是Map数据结构
13、resultMap中association的各个属性的含义:
property:映射数据库列的字段或属性。
colum:数据库的列名或者列标签别名。
javaTyp:完整java类名或别名。
jdbcType支持的JDBC类型列表列出的JDBC类型。这个属性只在insert,update或delete的时候针对允许空的列有用。
resultMap: 一个可以映射联合嵌套结果集到一个适合的对象视图上的ResultMap。这是一个替代的方式去调用另一个select语句。
14、当pojo的属性名与sql语句查询出来的字段名不一致的时候,需要使用resultMap来进行结果的映射,不能使用resultType
15、下列关于MyBatis中parameterType的说法正确的是
A:当把一个List实例或者数组作为参数对象传给MyBatis的时候,myBatis会自动将它包装在一个Map中,
List实例将会以“list”作为键,而数组实例将会以“array”作为键。那么在配置文件中的parameterType是可以不配置
B: MyBatis的传入参数如果是一个List或数组,可以使用mapper配置文件中的foreach语句
C: MyBatis的传入参数也可是复杂数据类型:包含Java实体类、Map。通过# {属性名}或# {Map的key}即可获取传入的值
16、在MyBatis应用中,当单表数据量很小的情况下,可以使用Mybatis的RowBounds实现内存分页,以下选项说法正确的是
17、在处理数据库中的数据时,Mybatis、Hibernate和JDBC哪种技术的效率最高
答案:JDBC,因为Mybatis、Hibernate是ORM框架,封装了JDBC,简化了复杂的JDBC操作,没有直接使用JDBC效率高。
18、在MyBatis动态SQL中,以下说法正确的是
A:利用if标签实现简单的条件选择
B: where标签可以简化SQL语句中的where子句处理
C: trim标签可以灵活地去除多余的关键字
19、有关MyBatis中动态SQL的说法中正确的是
A: where元素可以动态创建where子句,且编写时无需考虑以and开头的情况
B: set元素可以为update语句动态创建set子句
以上是关于MyBatis错题合集的主要内容,如果未能解决你的问题,请参考以下文章