MyBatis知识点复习(javaweb作业4)
Posted 寂静花开
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatis知识点复习(javaweb作业4)相关的知识,希望对你有一定的参考价值。
作业4
一.单选题
1、关于MyBatis配置文件中< typeAliases >元素说法错误的是()
A、可以通过在MyBaits中配置< typeAliases >元素来定义别名
B、MyBaits配置文件中< typeAliases >元素的子元素< typeAlias >需要配置type和alias属性
C、可以通过在类名上使用@Alias(value = “user”)的形式定义别名
D、同时在MyBaits中配置了< typeAliases >元素以及@Alias(value = “user”)注解定义别名后,会以注解形式的别名为准
正确答案: B
< typeAliase >元素用于为原始文件中的Java类型设置别名,他的子元素< typeAlias>中的
type
属性用于指定需要别名的全限定类名;alias
用于自定义别名。省略alias的话,默认别名为 类名首字母小写
2、关于< typeHandlers >元素说法错误的是()
A、< typeHandle r>元素就是用来在配置文件中注册自定义的类型处理器的,它的使用方式有两种
B、通过< typeHandlers >元素的子元素< typeHandler >就可以配置单个类型处理器
C、通过< typeHandlers >元素的子元素< package >可以配置包下的所有类型处理器
D、< typeHandlers >元素的子元素< package >的handler属性用于指定类型处理器所在的包名,系统会在启动时自动的扫描com.itheima.type包下所有的文件,并把它们作为类型处理器
正确答案: D
typeHandle的作用:将预处理语句中传入的参数从Java类型转为JDBC类型,或JDBC转java类型。
子元素< typeHandler > 的Handler
属性用于指定在程序中自定义的类型处理器类。
子元素< package >的namer
属性用于指定类型处理器所在的包名,系统会在启动时自动的扫描com.itheima.type包下所有的文件,并把它们作为类型处理器
3、有关MyBatis配置文件中< settings >元素的说法错误的是()
A、< settings >元素主要用于改变MyBatis运行时的行为,例如开启二级缓存、开启延迟加载等
B、虽然不配置< settings >元素,也可以正常运行MyBatis,但是熟悉< settings >的配置内容以及它们的作用还是十分必要的
C、< settings >元素中延迟加载的全局开关的参数lazyLoadingEnabled默认开启
D、< settings >元素的配置内容大多数都不需要开发人员去配置它,通常在需要时只配置少数几项即可
正确答案: C
下表第二行
二.填空题
1、< settings >元素中的配置参数lazyLoadingEnabled是延迟加载的全局开关。特定关联关系中可以通过设置【】属性来覆盖该项的开关状态。
正确答案:fetchType
选择3
2、< typeAliases >元素的子元素< typeAlias >中的type属性用于指定需要被定义别名的类的全限定名;【】属性的属性值user就是自定义的别名。
正确答案:alias
选择1
3、使用完SqlSession对象之后,要及时的关闭它,通常可以将其放在【】块中关闭。
正确答案:finally
SqlSession是MyBatis框架中另一个重要的对象,它是应用程序与持久层之间执行交互操作的一个单线程对象,其主要作用是执行持久化操作。SqlSession对象包含了数据库中所有执行SQL操作的方法,由于其底层封装了JDBC连接,所以可以直接使用其实例来执行已映射的SQL语句。
每一个线程都应该有一个自己的SalSession 实例,并且该实例是不能被共享的。
同时,SqlSession实例也是线程不安全的,因此其使用范围最好在一次请求或一 个方法中, 绝不能将其放在一个类的静态字段、实例字段或任何类型的管理范围(如Servlet的HttpSession)中使用。
使用完SqlSession对象之后,要及时地关闭它,通常可以将其放在finally块中关闭
代码如下所示。
SqlSession sqlSession = sqlSes sionFactory. openSession() ;
try{
//此处执行持久化操作
) finally {
u
sqlSession.close() ;
4、除了可以通过外部配置文件来定义属性值外,还可以通过配置< properties >元素的子元素【】,以及通过方法参数传递的方式来获取属性值。
正确答案:property
5、SqlSessionFactory对象是线程安全的,所以在构建SqlSessionFactory实例时,建议使用【】模式
正确答案:单例
SqlSession是MyBatis 框架中另一个重要的对象,它是应用程序与持久层之间执行交互操作的一一个单线程对象,其主要作用是执行持久化操作。SqlSession 对象包含了数据库中所有执F SQL操作的方法,由于其底层封装了JDBC连接,所以可以直接使用已映射的SQL语句。
6、自定义类型处理器可以通过实现【】接口或者继承BaseTypeHandle类来定义。
正确答案:TypeHandler
7、SqlSessionFactory对象的实例可以通过【】对象来构建,而该对象可以通过XML配置文件或一个预先定义好的Configuration实例构建出。
正确答案:SqlSessionFactoryBuilder
8、在< environment >元素内,包含事务管理和数据源的配置信息,其中【】元素用于配置事务管理。
正确答案:<transactionManager>
9、MyBatis允许在已映射语句执行过程中的某一点进行拦截调用,这种拦截调用是通过插件来实现的。【】元素的作用就是配置用户所开发的插件。
正确答案:<plugins>
10、在MyBatis框架的核心配置文件中,【】是配置文件的根元素,其他元素都要在该元素内配置。
正确答案:<configuration>
11、在< environment >元素内,包含事务管理和数据源的配置信息,其中【】元素用于配置数据源。
正确答案:<dataSource>
12、SqlSessionFactory是MyBatis框架中十分重要的对象,它是单个数据库映射关系经过编译后的内存镜像,其主要作用是创建【】。
正确答案:SqlSession
三.判断题
1、除了可以像上述通过外部配置文件来定义属性值外,还可以通过配置< properties >元素的子元素< property >,以及通过方法参数传递的方式来获取属性值()
正确答案:√
2、< settings >元素主要用于改变MyBatis运行时的行为,例如开启二级缓存、开启延迟加载等()
正确答案:√
3、MyBatis框架提供了许多默认别名,由于别名不区分大小写,所以在使用时要注意重复定义的覆盖问题()。
正确答案:√
4、< properties >是一个配置属性的元素,该元素通常用来将内部的配置外在化,即通过外部的配置来动态的替换内部定义的属性()
正确答案:√
5、SqlSession是MyBatis框架中另一个重要的对象,它是应用程序与持久层之间执行交互操作的一个单线程对象,其主要作用是执行持久化操作()
正确答案:√
6、在MyBatis配置文件中 < settings >元素的作用十分重要,所以必须要掌握并进行配置,否则会影响MyBatis的正常运行()
正确答案:×
7、SqlSessionFactory是MyBatis框架中十分重要的对象,它是单个数据库映射关系经过编译后的内存镜像,其主要作用是创建SqlSession()
正确答案:√
8、< configuration >的子元素必须按照指定的顺序进行配置,否则MyBatis在解析XML配置文件的时候会报错()。
正确答案:√
9、在配置文件中,< environments >元素用于对环境进行配置。MyBatis的环境配置实际上就是数据源的配置,我们可以通过< environments >元素配置多种数据源,即配置多种数据库()
正确答案:√
10、SqlSession实例也是线程安全的,可以将其放在一个类的静态字段、实例字段或任何类型的管理范围(如Servlet的HttpSession)中使用()
正确答案:×
11、如果项目中使用的SSM整合开发,就需要在MyBatis中配置事务管理器,而在Spring中进行数据源配置()
正确答案:×
12、MyBatis中默认的ObjectFactory的作用就是实例化目标类,它既可以通过默认构造方法实例化,也可以在参数映射存在的时候通过参数构造方法来实例化()
正确答案:√
13、< typeHandler >元素就是用来在配置文件中注册自定义的类型处理器的()
正确答案:√
14、MyBatis允许在已映射语句执行过程中的某一点进行拦截调用,这种拦截调用是通过插件来实现的。< plugins >元素的作用就是配置用户所开发的插件()
正确答案:√
15、< settings >元素中的配置参数cacheEnabled用于影响所有映射器中配置的缓存全局开关,默认值为false()。
正确答案:×
以上是关于MyBatis知识点复习(javaweb作业4)的主要内容,如果未能解决你的问题,请参考以下文章