Javaweb作业八
Posted 寂静花开
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javaweb作业八相关的知识,希望对你有一定的参考价值。
作业八
一. 单选题
1、 以下关于MyBatis的< set >元素的使用及说法正确的是()
A. < set >元素主要用于更新操作,其主要作用是在动态包含的SQL语句前输出一个SET关键字,并将SQL语句中最后一个多余的逗号去除
B. 使用MyBatis的< set >元素来更新操作时,前端需要传入所有参数字段,否则未传入字段会默认设置为空
C. 在映射文件中使用< set >和< if >元素组合进行update语句动态SQL组装时, < set >元素内包含的内容可以都为空,< if >元素会进行判断处理
D. 在映射文件进行更新操作时,只需要使用< set >元素就可以进行动态SQL组装
正确答案: A
使用了< set > 和 < if > 元素相结合的方式来组装update 语句。其中< set >元素会动态前置SET关键字, 同时也会消除SQL语句中最后一个多余的逗号;< if >元素用于判断相应的字段是否传入值,如果传入的更新字段非空,就将此字段进行动态SQL组装并更新此字段,否则此字段不执行更新。
2、 以下有关MyBatis动态SQL中的主要元素说法错误的是()
A. < if >用于单条件分支判断
B. < choose >(< when >、< otherwise >)用于多条件分支判断
C. < foreach >循环语句,常用于in语句等列举条件中
D. < bind >从OGNL表达式中创建一个变量,并将其绑定到上下文,只于模糊查询的sql中
正确答案: D
不只用于模糊查询。
3、以下关于< foreach>元素中使用的几种属性的描述错误的是()
A. item:配置的是循环中当前的元素
B. index:配置的是当前元素在集合的位置下标
C. collection:配置的是传递过来的参数类型,它可以是一个array、list(或collection)、Map集合的键、POJO包装类中数组或集合类型的属性名等
D. separator:配置的是各个元素的间隔符
正确答案: C
collection:配置的list是传递过来的参数类型(首字母小写),可以是array、list(或collection)、Map集合的键,POJO包装类中数组或集合类型的属性名
二. 填空题
1、使用< where >元素会自动判断组合条件下拼装的SQL语句,只有< where >元素内的条件成立时,才会在拼接SQL中加入____关键字,否则将不会添加
正确答案:where
2、使用< set >和< if >元素相结合的方式来组装update语句时,< set >元素就会动态前置____关键字,同时也会消除SQL语句中最后一个多余的逗号
正确答案:SET
3、动态SQL是MyBatis的强大特性之一,MyBatis3采用了功能强大的基于____的表达式来完成动态SQL。
正确答案: OGNL
4、使用了< choose >元素时,第一个< when >中的条件为真,则只动态组装第一个< when >内的SQL片段,否则就继续向下判断第二个< when >元素中的条件是否为真,以此类推。当前面所有when元素中的条件都不为真时,则只组装____内的SQL片段。
正确答案: < otherwise >
5、 使用< if >元素的____属性可以对传入参数进行条件判断,如果传入的条件成立就进行动态SQL组装。
正确答案:
(1) test
6、 MyBaits中< trim >元素的作用是去除一些特殊的字符串,它的____属性代表的是语句的前缀,而prefixOverrides属性代表的是需要去除的哪些特殊字符串。
正确答案:prefix
7、在使用< if >元素根据客户姓名和职业模糊查询客户信息时,可以使用mysql数据库的____函数进行字符串拼接。
正确答案:concat
8、 (填空题)在MyBaits映射文件中使用< set >和< if >元素组合进行update语句动态SQL组装时,如果< set >元素内包含的内容都为空,则会出现____。
正确答案:SQL语法错误
9、 SQL语句中,where后直接跟and,这在运行时肯定会报____错误。
正确答案:SQL语法
三. 判断题
1、 可以将任何可迭代对象(如列表、集合等)和任何的字典或者数组对象传递给< foreach >作为集合参数。( )
正确答案: 对
2、 (判断题)在MyBaits映射文件中使用< set >和< if >元素组合进行update语句动态SQL组装时,如果< set >元素内包含的内容都为空,则会出现SQL语法错误()。( )
正确答案: 对
3、 使用< if >元素的test属性可以对传入参数进行条件判断,如果传入的条件成立就进行动态SQL组装。( )
正确答案: 对
4、 < bind >元素中value的属性值就是拼接的查询字符串,即必须与传递的参数变量名一致,如username( )
正确答案: 错
5、 动态SQL是MyBatis的强大特性之一, MyBatis3采用了功能强大的基于OGNL的表达式来完成动态SQL,它消除了之前版本中需要了解的大多数元素,使用不到原来一半的元素就能完成所需工作。( )
正确答案: 对
6、MyBatis中的< set >元素主要用于更新操作,其主要作用是在动态包含的SQL语句前输出一个SET关键字,并将SQL语句中最后一个多余的逗号去除( )
正确答案: 对
7、 使用MyBatis的< set >元素来更新操作时,前端需要传入所有参数字段,否则未传入字段会默认设置为空( )
正确答案: 错
8、使用了< choose >元素进行SQL拼接,只要< when >元素中的条件为真,就会进行组装。( )
正确答案: 错
9、 当前端传递参数名为ids的封装id的集合参数时,< foreach >元素的collection属性值需要跟参数名ids对应( )
正确答案: 错
10、 MyBatis动态SQL中< trim >元素就是为了去除组装的SQL语句中第一个多余的and或or。( )
正确答案: 错
11、 MyBatis动态SQL中< where >元素就是为了去除组装的SQL语句中第一个多余的and或or( )
正确答案: 错
12、 MyBatis动态SQL中< trim >元素< where >元素功能相同,都是对where 1=1”条件进行了替换,去除一些特殊的字符串。( )
正确答案: 错
————————————————
已经博主本人同意啦
版权声明:本文为CSDN博主「凉沫love」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_50582468/article/details/121344341
以上是关于Javaweb作业八的主要内容,如果未能解决你的问题,请参考以下文章