Mybatis动态SQL习题练习
选择题
1.SQL语句中,where后直接跟and,这在运行时肯定会报()错误。
A.SQL语法
B.无效字符
C.参数异常
D.MySQL版本
答案:A
2.当有多个选择的情况是,值需要从多个选项中选择一个去执行时,可以使用的动态SQL元素是()
A.
B .
C.
D.
答案:B
3.以下不属于
元素中使用的属性的是()
A.separator
B.collection
C.current
D.item
答案:C
4.以下关于
元素中使用的几种属性的描述错误的是()
A.item:配置的是循环中当前的元素
B.index:配置的是当前元素在集合的位置下标
C.collection:配置的是传递过来的参数类型,它可以是一个array、list(或collection)、Map集合的键、POJO包装类中数组或集合类型的属性名等
D.separator:配置的是各个元素的间隔符
答案:C
5.以下关于MyBatis的
元素的使用及说法正确的是()
A
元素主要用于更新操作,其主要作用是在动态包含的SQL语句前输出一个SET关键字,并将SQL语句中最后一个多余的逗号去除
B.使用MyBatis的
元素来更新操作时,前端需要传入所有参数字段,否则未传入字段会默认设置为空
C.在映射文件中使用
和
元素组合进行update语句动态SQL组装时,
元素内包含的内容可以都为空,
元素会进行判断处理
D.在映射文件进行更新操作时,只需要使用
元素就可以进行动态SQL组装
答案:A
6.以下有关MyBatis动态SQL中的主要元素说法错误的是()
A.
用于单条件分支判断
B.
用于多条件分支判断
C.
循环语句,常用于in语句等列举条件中
D.
从OGNL表达式中创建一个变量,并将其绑定到上下文,只于模糊查询的sql中
7.MyBatis动态SQL中的主要元素包含有()。
A.
B.
C.
D.
答案:ABCD
8.以下关于MyBatis动态SQL中
元素
元素说法错误的是()
A.使用
元素替换条件“where 1=1”后,既保证了where后面的条件成立,又避免了where后面第一个词是and或者or之类的关键词
B.使用
元素对“where 1=1”条件进行了替换,只用当
元素的test属性成立才会在拼接SQL中加入where关键字,否则将不会添加
C.
元素和
元素功能相同,都是对对“where 1=1”条件进行替换,并去除多余字符
D.以上说法都正确
答案:BCD
10.关于
元素的使用及说法正确的是()
A.在MyBatis中,
元素是最常用的判断语句,它类似于Java中的if语句,主要用于实现某些简单的多条件分支判断
B.使用
元素的test属性可以对传入参数进行条件判断,如果传入的条件成立就进行动态SQL组装
C.
元素可以出现多个
D.以上说法都正确
答案:BC
判断题
1.MyBatis动态SQL中
元素就是为了去除组装的SQL语句中第一个多余的and或or。
A 正确
B 错误
答案:B
2.使用了
元素进行SQL拼接,只要
元素中的条件为真,就会进行组装。
A 正确
B 错误
答案:B
3.在使用
元素时,只要test属性中的表达式为true,就会执行元素中的条件语句。
A 正确
B 错误
答案:A
4.可以将任何可迭代对象(如列表、集合等)和任何的字典或者数组对象传递给
作为集合参数()。
A 正确
B 错误
答案:A
5.在MyBaits映射文件中使用
和
元素组合进行update语句动态SQL组装时,如果
元素内包含的内容都为空,则会出现SQL语法错误()。
A 正确
B 错误
答案:A
6.MyBaits中对原始SQL中的“where 1=1”的条件可以使用
与
元素组合进行替换()。
A 正确
B 错误
答案:A
7.MyBaits中
元素的作用是去除一些特殊的字符串,它的prefix属性代表的是语句的前缀,而prefixOverrides属性代表的是需要去除的哪些特殊字符串()。
A 正确
B 错误
答案:A
8.MyBaits中的
元素用于多条件分支判断,当
元素中的条件为真,就进行动态组装
元素内的SQL片段,以此类推()。
A 正确
B 错误
答案:B
9.在MyBatis中
元素用于单条件分支判断,当某个
的test属性判断成立,然后跳过其他
元素进行动态SQL组装()。
A 正确
B 错误
答案:B
10.在MyBatis中
元素用于单条件分支判断,当某个
的test属性判断成立,然后跳过其他
元素进行动态SQL组装()。
A 正确
B 错误
答案:B
11.
元素中value的属性值就是拼接的查询字符串,即必须与传递的参数变量名一致,如username()
A 正确
B 错误
答案:B
12.MyBatis提供了
元素可以解决模糊查询时SQL注入问题,且不会影响数据库移植()
A 正确
B 错误
答案:A
13.当前端传递参数名为ids的封装id的集合参数时,
元素的collection属性值需要跟参数名ids对应()
A 正确
B 错误
答案:B
14.MyBatis中的
元素可以用于对数组和集合循环遍历,批量执行SQL操作()
A 正确
B 错误
答案:A
15.使用MyBatis的
元素来更新操作时,前端需要传入所有参数字段,否则未传入字段会默认设置为空()
A 正确
B 错误
答案:B
16.在MyBatis中,
元素是最常用的判断语句,它类似于Java中的if语句,主要用于实现某些简单的条件选择()
A 正确
B 错误
答案:A
简答题
1.请简述MyBatis动态SQL中的主要元素及说明。
MyBatis动态SQL中的主要元素及说明如下:
答案:
:判断语句,用于单条件分支判断;
:相当于Java中的switch…case…default语句,用于多条件分支判断;
:辅助元素,用于处理一些SQL拼装、特殊字符问题;
:循环语句,常用于in语句等列举条件中;
:从OGNL表达式中创建一个变量,并将其绑定到上下文,常用于模糊查询的sql中。
2.请简述MyBaits映射文件中
元素的使用。
答案:
先使用
元素的name属性定义一个变量,
元素中value的属性值就是拼接的查询字符串,如username;然后在SQL语句中,直接引用
元素的name属性值即可进行动态SQL组装。
3.请简述在使用
时,collection属性需要注意的几点。
答案:
老师布置的练习作业,有错误欢迎大家指出