ssm框架题库-java

上传人:cunz****g666 文档编号:33719329 上传时间:2021-10-18 格式:DOC 页数:31 大小:368.50KB
收藏 版权申诉 举报 下载
ssm框架题库-java_第1页
第1页 / 共31页
ssm框架题库-java_第2页
第2页 / 共31页
ssm框架题库-java_第3页
第3页 / 共31页
资源描述:

《ssm框架题库-java》由会员分享,可在线阅读,更多相关《ssm框架题库-java(31页珍藏版)》请在装配图网上搜索。

1、第 1 章 Spring 的基本应用 习题 一、填空题 1. 依赖注入的作用就是在使用 Spring 框架创建对象时,动态的将其所依赖的对象注入到 【 】组件中。 2. 在使用 Spring 框架之后, 对象的实例不再由调用者来创建, 而是由【 】来创建, Spring 容器会负责控制程序之间的关系,而不是由调用者的程序代码直接控制。 3. 在 Spring 入门程序中只需将 Spring 的 4 个基础包以及【 】的 JAR 包复制到 lib 目录 中,并发布到类路径下即可。 4. 简单来说,BeanFactory 就是一个管理 Bean 的工厂,它主要负责初始化各种 Bean,并调用 它们

2、的【 】方法。 5. Spring 开发所需的 JAR 包分为两个部分: 【 】和【 】。 二、判断题 1. Spring 中基于构造方法的依赖注入通过调用带参数的构造方法来实现, 每个参数代表着一个 依赖。( ) 2. 通 常 在 Java 项 目 中 , 会 采 用 通 过 FileSystemXmlApplicationContext 类 来 实 例 化 ApplicationContext 容器的方式。 ( ) 3. 初学者学习 Spring 框架时,只需将 Spring 的 4 个基础包以及 commons-logging.jar 复制到项 目的 lib 目录,并发布到类路径中即可。

3、 ( ) 4. 依赖注入的作用就是在使用 Spring 框架创建对象时,动态的将其所依赖的对象注入到 Bean 组件中。( ) 5. Spring 框架采用的是分层架构,它一系列的功能要素被分成 20 个模块。( ) 三、选择题 1. 以下关于 Spring 核心容器相关说法错误的是。 ( ) A: Spring 框架的所有功能都是通过其核心容器来实现的。 B: 创建 BeanFactory 实例时,需要提供 Spring 所管理容器的详细配置信息,这些信息通常 采用 XML 文件形式来管理。 C: ApplicationContext 不仅包含了 BeanFactory 的所有功能,还添加了

4、对国际化、资源访问、 事件传播等方面的支持。 D: 通 常 在 Java 项 目 中 , 会 采 用 通 过 ClassPathXmlApplicationContext 类 来 实 例 化 ApplicationContext 容器的方式,而在 Web 项目中, ApplicationContext 容器的实例化工作会 交由 Web 服务器来完成。 2. 以下有关 Spring 的四个基础包说法正确的是。 ( ) A: Spring 的四个基础包,它们分别对应 Spring Web 容器的四个模块。 B: Spring 的 四 个 基 础 包 有 spring-core.RELEASE.ja

5、r 、 spring-beans-.RELEASE.jar 、 spring-context- .RELEASE.jar 和 spring-aop-.RELEASE.jar 。 C: spring -context-.RELEASE.jar 是所有应用都要用到的 JAR 包,它包含访问配置文件以及进 行 IoC 或者 DI 操作相关的所有类。 D: spring-core.RELEASE.jar 包含 Spring 框架基本的核心工具类, Spring 其它组件都要用到 这个包里的类,是其它组件的基本核心。 3. 以下有关 Spring 框架优点的说法正确的是。 ( ) A: Spring 具

6、有简单、 可测试和松耦合等特点, 从这个角度出发, Spring 就是应用于任何 Java 应用的开发中; B: Spring 提供了对 AOP 的支持,它允许将一些通用任务,如安全、事务、日志等进行集中 式处理,从而提高了程序的复用性 C: Spring 就是一个大工厂,可以将所有对象的创建和依赖关系的维护工作都交给 Spring 容 器管理,杜绝了组件之间的耦合性 D: Spring 增加了 Java EE 开发中一些 API 的使用难度 4. Spring 的核心容器是其他模块建立的基础,以下哪个不是该容器的组成模块。 ( ) A: Beans 模块 B: Core 模块 C: Cont

7、ext 模块 D: AOP 模块 5. 下列选项中,不属于 Spring 框架优点的是。 ( ) A: 提供强大的、可以有效减少页面代码的标签 B: 声明式事务的支持。 C: 方便解耦、简化开发 D: 方便集成各种优秀框架 四、简答题 1. Spring 依赖注入通常有哪些实现方式,列举并分别进行说明。 答案 一、填空题 1. Bean 2. Spring 容器 3. commons -logging 4. 生命周期 5. Spring 框架包、第三方依赖包 二、判断题 1. 对 2. 错 3. 对 4. 对 5. 对 三、选择题 1. A 2. D 3. B 4. D 5. A 四、简答题

8、Spring 的实现方式通常有两种, 一种是属性 setter 方法注入, 另一种是构造方法注入。 属性 setter 方法注入是指 IoC 容器使用 setter 方法来注入被依赖的实例。 通过调用无参构造器或无参静态工厂方 法实例化 Bean后,调用该 Bean 的 setter 方法,即可实现基于 setter 方法的依赖注入。构造方法注入 是指 IoC 容器使用构造方法来注入被依赖的实例。基于构造方法的依赖注入通过调用带参数的构造 方法来实现,每个参数代表着一个依赖。 第 2 章 Spring 中的 Bean 习题 一、填空题 1. 所谓自动装配,就是将一个 Bean 自动的注入到到其

9、他 Bean 的【 】中。 2. Controller 通常作用在控制层,如 Spring MVC 的【 】,用于将控制层的类标识为 Spring 中的 Bean,其功能与 Component 相同。 3. 【 】注解用于将数据访问层(DAO 层)的类标识为 Spring 中的 Bean,其功能与 Component 相同。 4. 对于【 】作用域的 Bean, Spring 只负责创建,当容器创建了 Bean 实例后, Bean 的 实例就交给客户端代码来管理, Spring 容器将不再跟踪其生命周期。 5. 实例工厂方式采用直接创建 Bean 实例的方式,在配置文件中,需要实例化的 Bea

10、n 是通过 【 】属性指向配置的实例工厂,然后使用 factory-method 属性确定使用工厂中的哪 个方法。 二、判断题 1. Component 注解用于描述 Spring 中的 Bean,它是一个泛化的概念,仅仅表示一个组件, 并且可以作用在任何层次,使用时只需将该注解标注在相应方法上即可。 ( ) 2. Spring 提供了 3 种基于 XML 的装配方式:设值注入、构造注入和属性注入。 ( ) 3. 每次客户端请求 singleton 作用域的 Bean 时, Spring 容器都会创建一个新的实例,并且不会 管那些被配置成 singleton 作用域的 Bean 的生命周期。

11、( ) 4. Spring 中使用 prototype 定义的 Bean 在 Spring 容器中将只有一个实例, 也就是说, 无论有多 少个 Bean 引用它,始终将指向同一个对象。 ( ) 5. 对于 prototype 作用域的 Bean, Spring 只负责创建,当容器创建了 Bean 实例后, Bean 的实 例就交给客户端代码来管理, Spring 容器将不再跟踪其生命周期。 ( ) 三、选择题 1. Spring 的bean元素中的 autowire 属性取值不包括以下。 () A: default B: byName C: byType D: byId 2. 以下有关 Bea

12、n 的装配方式说法正确的是。 ( ) A: Spring 容器支持多种形式的 Bean 的装配方式,如基于 XML 的装配、基于注解(Annotation) 的装配和自动装配(其中最常用的是基于 XML 的装配); B: Spring 提供了 3 种基于 XML 的装配方式:设值注入、构造注入和属性注入; C:在 Spring 实例化 Bean 的过程中,Spring 首先会调用 Bean 的默认构造方法来实例化 Bean 对象,然后通过反射的方式调用 setter 方法来注入属性值; D: 设值注入要求一个 Bean 必须提供一个有参构造方法并且为需要注入的属性提供对应的 setter 方法

13、。 3. 以下哪些不属于 Spring 4.3 版本中 Bean 的作用域。() A: application B: request C: response D: globalSession 4. Spring 中定义了一系列的注解,以下有关其常用的注解说明错误的是。 ( ) A: Autowired 用于对 Bean 的属性变量、 属性的 setter 方法及构造方法进行标注, 配合对应 的注解处理器完成 Bean 的自动配置工作,默认按照 Bean 的名称进行装配。 B: Repository 用于将数据访问层( DAO 层)的类标识为 Spring 中的 Bean。 C: Service

14、 通常作用在业务层( Service 层),用于将业务层的类标识为 Spring 中的 Bean。 D: Controller 通常作用在控制层(如 Spring MVC 的 Controller ),用于将控制层的类标识 为 Spring 中的 Bean。 5. 下列选项中,不属于 Spring 中实例化 Bean 的方式的是。 ( ) A: 构造器实例化 B: 静态工厂方式实例化 C: 实例工厂方式实例化 D: 抽象方法实例化 四、简答题 1. 请简述基于 XML 的装配方式中设值注入的要求。 答案 一、填空题 1. Property 2. Controller 3. Repository

15、 4 prototype 5. factory-bean 、判断题 1. 错 2. 错 3. 错 4. 错 5. 对 、选择题 1. D 2. C 3. C 4. A 5. D 四、简答题 Spring 中基于 XML 的装配方式中设值注入需要满足以下两点要求: 1、 Bean 类必须提供一个默认的无参构造方法。 2、Bean 类必须为需要注入的属性提供对应的 setter 方法。 第 3 章 Spring AOP 习题 一、填空题 1. AspectJ 框架中注解【 】用于定义切入点表达式,在使用时还需定义一个包含名字和 任意参数的方法签名来表示切入点名称。 2. 在 Spring 配置文件

16、中,aop:aspect子元素的 pointcut-ref 属性用于指定一个已经存在的 【 】。 3. 在 Spring 的配置文件中,配置切面使用的是【 】元素。 4. 在 Spring 中,使用【 】是创建 AOP 代理的基本方式。 5. AOP 术语中【 】表示 AOP 框架在特定的切入点执行的增强处理,即在定义好的切入 点处所要执行的程序代码。 二、判断题 1. 如果在同一个连接点有多个通知需要执行,那么在同一切面中,目标方法之前的前置通知 和环绕通知的执行顺序是未知的,目标方法之后的后置通知和环绕通知的执行顺序也是未 知的。( ) 2. AspectJ 框架中的注解 After 用于

17、定义最终 final 通知,不管是否异常, 该通知都会执行。( ) 3. Spring 配己置文件中的 beans元素下可以包含多个 aop:config 元素,一个 aop:config元素 中又可以包含属性和子元素,其子元素包括 aop:pointcut、aop:advisor禾口 aop:aspect。 () 4. Spring 中的 AOP 代理默认就是使用 CGLIB 代理的方式来实现的。 ( ) 5. Spring 3.0 以后,Spring AOP 引入了对 AspectJ 的支持,并允许直接使用 AspectJ 进行编程, 而 Spring 自身的 AOP API 也尽量与 A

18、spectJ 保持一致。 ( ) 三、选择题 1. 以下不属于 ProxyFactoryBean 类中的常用可配置属性的是。 ( ) A: target B: proxyInterfaces C: targetClass D: interceptorNames 2. 以下哪种类型不是 Spring 中的通知类型。 ( ) A: 异常通知 B: 前置通知 C: 后置通知 D: 最终通知 3. 关于 AspectJ 注解的介绍,说法错误的是。 ( ) A: Aspect 用于定义一个切面 B: Pointcut 用于定义切入点表达式 C: Before 用于定义前置通知,相当于 BeforeAdv

19、ice D: After 用于定义后置通知,相当于 AfterReturningAdvice 4. 以下有关 CGLIB 代理相关说法正确的是。 ( ) A: CGLIB 代理的使用非常简单,但它还有一定的局限性 使用动态代理的对象必须实现 个或多个接口。 B: 如果要对没有实现接口的类进行代理,那么可以使用 CGLIB 代理。 C: CGLIB 是一个高性能开源的代码生成包,在使用时需要另外导入 CGLIB 所需要的包。 D: Spring 中的 AOP 代理,可以是 JDK 动态代理,也可以是 CGLIB 代理。 5. 以下关于 Spring AOP 的介绍错误的是。 ( ) A: AOP

20、 的全称是 Aspect -Oriented Programming ,即面向切面编程(也称面向方面编程) 。 B: AOP 采取横向抽取机制,将分散在各个方法中的重复代码提取出来,这种采用横向抽取 机制的方式,采用 OOP 思想是无法办到的。 C: 虽然 AOP 是一种新的编程思想,采取横向抽取机制,是 OOP 的升级替代品。 D: 目前最流行的 AOP 框架有两个,分别为 Spring AOP 和 AspectJ。 四、简答题 1. 请对 Spring 的通知类型进行简要说明。 答案 一、填空题 1 Pointcut 2 切入点名称 3 4 ProxyFactoryBean 5 Advic

21、e 判断题 1 对 2 对 3 对 4 错 5 错 选择题 1 C 2 D 3 D 4 C 5 C 四、简答题 Spring 中主要包含 5 种通知类型,分别是环绕通知,前置通知,后置通知,异常通知和引介通 知。其中,环绕通知表示在目标方法执行前后实施增强,可以应用于日志、事务管理等功能。前置 通知表示在目标方法执行前实施增强,可以应用于权限管理等功能。后置通知表示在目标方法执行 后实施增强,可以应用于关闭流、上传文件、删除临时文件等功能。异常通知表示在方法抛出异常 后实施增强,可以应用于处理异常记录日志等功能。引介通知表示在目标类中添加一些新的方法和 属性,可以应用于修改老版本程序(增强类)

22、第 4 章 Spring 的数据库开发 习题 一、填空题 1. JdbcTemplate 类中还提供了大量的【 】方法来处理各种对数据库表的查询操作。 2. JdbcTemplate 类中的【 】方法可以完成插入、更新和删除数据的操作。 3. 【 】就是 Junit4 用来测试的注解, 要测试哪个方法, 只需要在相应测试的方法上添加 此注解即可。 4. JDBC 连接数据库时需要 4 个基本属性,包括有【 】、url、username 和 password。 5. JdbcTemplate 类的继承关系十分简单。 它继承自抽象类 【 】,同时实现了 JdbcOperations 接口。 二、判

23、断题 1. 在使用 Junit 进行单一测试时, JUnit 视图窗口的进度条为绿色表明运行结果正确; 如果进度 条为红色则表示有错误,并且会在窗口中显示所报的错误信息。 ( ) 2. 定义 jdbcTemplate 时,需要将 dataSource 注入到 jdbcTemplate 中。() 3. JdbcOperations 接口定义了在 JdbcTemplate 类中可以使用的操作集合,包括添加、修改、查 询和删除等操作。 ( ) 4. JdbcTemplate 类中还提供了大量的 query()方法来处理各种对数据库表的查询操作。 () 5. 在 JdbcTemplate 类中,提供了

24、大量的更新和查询数据库的方法,我们就是使用的这些方法 来操作数据库的。 ( ) 三、选择题 1. Spring JDBC 模块主要由 4 个包组成,其中不包括。 ( ) A: core (核心包) B: dataSource (数据源包) C: driverClass (数据库驱动包) D: support (支持包) 2. JdbcTemplate 的直接父类是。 ( ) A: JdbcAccessor B: JdbcOperations C: JdbcSupper D: Object 3. JdbcTemplate 类包含在 Spring JDBC 模块的哪个包中。 ( ) A: 核心包

25、B: 数据源包 C: 对象包 D: 支持包 4. 下面关于 update()方法描述错误的是。() A: update() 方法可以完成插入、更新、删除和查询数据的操作 B:在 JdbcTemplate 类中,提供了一系列的 update()方法 C: update() 方法执行后,会返回受影响的行数 D: update() 方法返回的参数是 int 类型 5. 下面描述中,关于 query() 方法说法错误的是。 ( ) A: List query(String sql, RowMapper rowMapper) 会执行 String 类型参数提供的 SQL 语句, 并 通过 RowMapp

26、er 返回一个 List 类型的结果。 B: List query( String sql, PreparedStatementSetter pss, RowMapper rowMapper )会根据 String 类型参数提供的 SQL 语句创建 PreparedStatement 对象, 通过 RowMapper 将结果返回 到 List 中。 C: List query ( String sql, Object args, RowMapper rowMapper )会将 args 参数绑定到 SQL 语 句中,并通过 RowMapper 返回一个 Object 类型的单行记录。 D: q

27、ueryForList ( String sql,Object args, class elementType )可以返回多行数据的结果, 但必须是返回列表, elementType 参数返回的是 List 元素类型。 四、简答题 1. 请简述如何使用 Junit 对程序中的方法进行测试。 答案 一、填空题 1. query() 2 update() 3. Test 4. driverClassName 5. JdbcAccessor 、判断题 1. 对 2 对 3. 对 4. 对 5. 对 、选择题 1. C 2 A 3. A 4. A 5. C 四、简答题 使用 JUnit 对程序中的方法

28、进行测试时的步骤如下: 1、先创建一个普通测试方法,并在方法上添加单元测试的注解 Test; 2、 添加Test 注解后,在注解处会报错,将鼠标移动至 Test 注解处,会弹出错误提示框,单 击提示框中的 Add JUnit4 library to the build path 后, Eclipse 会自动将 JUnit4 的支持包加入到项目中; 3、 在执行程序时, 只需使用鼠标右键单击测试方法, 在弹出的快捷菜单中选择 Run As 中的 JUnit Test选项来运行测试方法即可。第 5 章 Spring 的事务管理 习题 一、填空题 1. 使用基于注解方式的事务管理需要在使用事务的 S

29、pring Bean 类或者 Bean 类的方法上添加 注解【 】。 2. Spring 的声明式事务管理可以通过两种方式来实现,一种是基于 XML 的方式,另一种是基 于【 】的方式。 3. Spring2.0 以后,提供了 tx 命名空间来配置事务, tx 命名空间下提供了【 】元素来配 置事务的通知(增强处理) 。 4. 在 Spring 的所有 JAR 包中,包含一个名为【 】的 JAR 包,该包就是 Spring 提供的用 于事务管理的依赖包。 5. 声明式事务管理:是通过【 】实现的事务管理。 二、判断题 1. 基于 XML 方式的声明式事务管理是通过在配置文件中配置事务规则的相关

30、声明来实现的。 () 2. 编程式事务管理是通过编写代码实现的事务管理,包括定义事务的开始、正常执行后的事 务提交和异常时的事务回滚。 ( ) 3. Spring 的事务管理简化了传统的事务管理流程,并且在一定程度上减少了开发者的工作量。 () 4. Spring 的声明式事务管理可以通过两种方式来实现,一种是基于 XML 的方式,另一种是基 于 Annotation 的方式。( ) 5. Responsebody 注解与 RequestMapping 注解配合使用时,页面中将可以获取到方法的返 回值。( ) 三、选择题 1. 以下关于 Transactional 注解可配置的参数信息及秒正确

31、的是。 ( ) A: value 用于指定需要使用的事务管理器,默认为 ; B: read-only 用于指定事务是否只读,默认为 true; C: isolation 用于指定事务的隔离级别,默认为 Isolation.READ_COMMITTED ; D: propagation 用于指定事务的传播行为,默认为 Propagation. SUPPORTS ; 2. 以下基于 XML 方式的声明式事务管理配置文件中 元素的子元素 属性 描述错误的是。 ( ) A: name :该属性为必选属性,它指定了与事务属性相关的方法名 B: propagation :用于指定事务的传播行为,它的默认值

32、为 SUPPORTS C: isolation :该属性用于指定事务的隔离级别,其默认值为 DEFAULT D: read-only :该属性用于指定事务是否只读,其默认值为 false 3. 以下有关事务管理方式相关说法错误的是。 ( ) A: Spring 中的事务管理分为两种方式:一种是传统的编程式事务管理,另一种是声明式事 务管理。 B: 编程式事务管理: 是通过 AOP 技术实现的事务管理, 就是通过编写代码实现的事务管理, 包括定义事务的开始、正常执行后的事务提交和异常时的事务回滚。第 5 章 Spring 的事务管理 C: 声明式事务管理: 其主要思想是将事务管理作为一个 “切面

33、”代码单独编写, 然后通过 AOP 技术将事务管理的 “切面 ”代码植入到业务目标类中。 D: 声明式事务管理最大的优点在于开发者无需通过编程的方式来管理事务,只需在配置文 件中进行相关的事务规则声明,就可以将事务规则应用到业务逻辑中。 4. 以下有关 Spring 事务管理及核心接口说法错误的是。 ( ) A: PlatformTransactionManager 接口是 Spring 提供的平台事务管理器,主要用于管理事务。 B: TransactionDefinition 接口是事务定义(描述)的对象,该对象中定义了事务规则,并提 供了获取事务相关信息的方法。 C: Transactio

34、nStatus 接口是事务的状态,它描述了某一时间点上事务的状态信息。 D: 在事务管理过程中,传播行为可以控制是否需要创建事务以及如何创建事务,通常情况 下,对于数据的查询、插入、更新和删除操作,必须进行事务管理。 5. 下列选项中,哪一个不是 Spring 中事务管理的核心接口。 ( ) A: PlatformTransactionManager B: TransactionDefinition C: TransactionStatus D: TransactionManager 四、简答题 1. 请列举 PlatformTransactionManager 接口提供了有哪些事务操作方法,

35、并对这些方法分别进 行简单说明。 答案 一、填空题 1. Transactional 2. Annotation 3. 4. spring -tx.RELEASE.jar 5. AOP 技术 、判断题 1. 对 2. 对 3. 对 4. 对 5. 对 、选择题 1. A 2 B 3. B 4. D 5. D 第 5 章 Spring 的事务管理 四、简答题 PlatformTransactionManager 接口中提供了三个事务操作方法,具体如下所示: ( 1) TransactionStatus getTransaction(TransactionDefinition definition

36、 ) :用于获取事务状态信息。 ( 2) void commit(TransactionStatus status) :用于提交事务。 3) void rollback(TransactionStatus status) :用于回滚事务。 第 6 章 初识 MyBatis 习题 一、填空题 1. MyBatis 的删除操作在映射文件中是通过配置【 】元素来实现的。 2. MyBatis 映射文件中 元素是配置文件的根元素,它包含一个【 】属性,该属 性为这个 指定了唯一的命名空间。 3. 使用 MySQL 中的【 】函数进行字符串拼接,可以有效防止模糊查询时可能出现的 SQL 注入问题。 4.

37、 mybatis -config.xml 作为 MyBatis 的全局配置文件,配置了 MyBatis 的运行环境等信息,其 中主要内容是获取【 】。 5. 【 】是当前主流的 Java 持久层框架之一,它与 Hibernate 样,也是一种 ORM 框架。 、判断题 1. MyBatis 映射文件中元素是配置文件的根元素,它包含一个 namespace 属性,该 属性为这个指定了唯一的命名空间。() 2. 使用 MyBatis 框架非常简单, 只需在应用程序中引入 MyBatis 框架 lib 目录中的全部 JAR 包 以及数据库驱动包即可进行项目运行。 ( ) 3. ORM 就是一种为了解

38、决面向对象与关系型数据库中数据类型不匹配的技术,它通过描述 Java 对象与数据库表之间的映射关系,自动将 Java 应用程序中的对象持久化到关系型数据 库的表中。 ( ) 4. MyBatis 的更新操作也需要进行事务提交。 ( ) 5. 创建的映射文件中的 SQL 语句要以面向对象的写法进行书写。 ( ) 三、选择题 1. MyBatis 的删除操作有关说发错误的是。 ( ) A: MyBatis 的删除操作在映射文件中是通过配置 元素来实现的。 B: MyBatis 的删除操作也需要进行事务提交。 C: MyBatis 的删除操作执行了 SqISession 的 delete。方法。 D

39、: MyBatis 的删除操作和添加操作时,也需要封装整个实体类。 2. MyBatis 的更新操作有关说发错误的是。 ( ) A: MyBatis 的更新操作在映射文件中是通过配置 元素来实现的 。 B: MyBatis 的更新操作也需要进行事务提交。 C: MyBatis 的更新操作执行了 SqlSession 的 update。方法 。 第 5 章 Spring 的事务管理 D: MyBatis 的更新操作和添加操作时,只需要将 insert()方法改为 updat()方法即可。 3. 关于 MyBatis 模糊查询中进行 SQL 字符串拼接时,说法错误的是。 ( ) A: 使用 “ $

40、进”行 SQL 字符串拼接时,无法防止 SQL 注入问题。 B:可以使用 MySQL 中的 concat()函数进行字符串拼接。 C:使用 MySQL 中的 concat()函数进行字符串拼接,也无法防止 SQL 注入。 D:使用 MySQL 中的 concat()函数进行字符串拼接,导致数据库移植性变差。 4. 有关 MyBatis 工作原理说法错误的是。 ( ) A: MyBatis 的全局配置文件配置了 MyBatis 的运行环境等信息, 其中主要内容是获取数据库 连接 B: MyBatis 映射文件中配置了操作数据库的 SQL 语句,需要在 MyBatis 的全局配置文件中 加载才能执

41、行 C: 可以通过 MyBatis 的环境等配置信息构建会话对象 SqlSession D: SqISession 对象,该对象中包含了执行 SQL 的所有方法 5. 使用 ORM 框架后,应用程序不再直接访问底层数据库,而是以()的方式来操作持久化对 象(PO,即卩 Persisent Object)。() A: 面向业务 B: Hibernate C: 面向对象 D: MyBatis 四、简答题 1. 请简述 Hibernate 和 MyBatis 这两个框架的主要区别。 答案 一、填空题 1. 2. namespace 3. concat() 4. 数据库连接 5. MyBatis 、判

42、断题 1 错 2. 错 3. 对 4. 对 5. 错 、选择题 1. D 2. D 3. C 4. C 5. C 四、简答题 第 5 章 Spring 的事务管理 Hibernate 是一个全表映射的框架。通常开发者只需定义好持久化对象到数据库表的映射关系, 就可以通过 Hibernate 提供的方法完成持久层操作,开发者并不需要熟练的掌握 SQL 语句的编写, 所以其开发效率会高于 MyBatis 。而 Hibernate 自身也存在着一些缺点, 例如它在多表关联时, 对 SQL 查询的支持较差;更新数据时,需要发送所有字段;不支持存储过程;不能通过优化 SQL 来优化性 能等。这些问题导致

43、其只适合在场景不太复杂且对性能要求不高的项目中使用。 MyBatis 是一个半自动映射的框架。这里所谓的 “半自动”是相对于 Hibernate 全表映射而言的。 与 Hibernate 相比,虽然使用 MyBatis 手动编写 SQL 要比使用 Hibernate 的工作量大,但 MyBatis 可 以配置动态 SQL 并优化 SQL ,可以通过配置决定 SQL 的映射规则,它还支持存储过程等。对于一 些复杂的和需要优化性能的项目来说,显然使用 MyBatis 更加合适。第 5 章 Spring 的事务管理 第 7 章 MyBatis 的核心配置 习题 一、填空题 1. 当数据表中的列和需要

44、返回的对象的属性不完全一致, MyBatis 是不会自动赋值的。 此时, 就可以使用【 】元素进行处理。 2. 元素的子元素 用于表示哪个列是 【 】,而【 】元素用于表示 POJO 和数据表中普通列的映射关系。 3. MyBaits 映射文件中使用 元素的【 】属性可以引用自定义的代码片段,其属 性值为自定义代码片段的 id。 4. MyBatis 映射文件中的子元素的 order 属性可以被设置为【 】或 【 】。 5. 对于数据源的配置, MyBatis 框架提供了 UNPOOLED 、【 】和 JNDI 三种数据源类型。 二、判断题 1. 的子元素和用于处理多表时的关联关系。 () 2

45、. MyBatis 映射文件的元素的属性与元素的属性大部分相同,但还包含了 3 个 特有属性。 ( ) 3. MyBatis 框架提供了许多默认别名,由于别名不区分大小写,所以在使用时要注意重复定义 的覆盖问题。 ( ) 4. 映射文件中可以包含多个 id 值相同的 元素。( ) 5. 与元素一样,和元素在执行完之后,也会返回一个表示影响记录条 数的整数。 ( ) 三、选择题 1. 以下有关 元素说法错误的是。 ( ) A: 元素的作用就是定义可重用的 SQL 代码片段,然后在其他语句中引用这一代码片段。 B: 使用 元素的 refid 属性可以引用自定义的代码片段。 C: 使用 元素 ref

46、id 的属性值为自定义代码片段的 D: 元素是 元素的子元素。 2. 以下有关 MyBatis 映射文件中元素说法正确的是。 A: 元素用于映射插入语句,在执行完元素中定义的 B: 元素的属性与 元素的属性相同。 C: keyColumn 属性用于设置第几列是主键,当主键列不是表中的第一列时需要设置。 D: useGeneratedKeys(仅对 insert 有用)此属性会使 MyBatis 使用 JDBC 的 getGeneratedKeys() 方法来获取由数据库内部生产的主键。 3. 以下关于元素及其属性说法错误的是。 () A: 元素用来映射查询语句,它可以帮助我们从数据库中读取出数

47、据,并组装数据给 业务开发name。 第 5 章 Spring 的事务管理 人员。 B: parameterType 属性表示传入 SQL 语句的参数类的全限定名或者别名。 C: resultMap 表示外部 resultMap 的命名引用,返回时可以同时使用 resultType 和 resultMap D:在同一个映射文件中可以配置多个 元素。 4. 关于 元素说法错误的是。 ( ) A: 元素就是用来在配置文件中注册自定义的类型处理器的,它的使用方式有 两种。 B: 通过 元素的子元素 就可以配置单个类型处理器。 C:通过元素的子元素可以配置包下的所有类型处理器。 D: 元素的子元素的

48、handler 属性用于指定类型处理器所在的包名, 系统会在启动时自动的扫描 com.itheima.type 包下所有的文件,并把它们作为类型处理器。 5. 有关 MyBatis 配置文件中元素的说法错误的是。() A: 元素主要用于改变 MyBatis 运行时的行为,例如开启二级缓存、开启延迟加载 等。 B:虽然不配置元素,也可以正常运行 MyBatis,但是熟悉的配置内容以 及它们的作用还是十分必要的。 C: 元素中延迟加载的全局开关的参数 lazyLoadingEnabled 默认开启。 D: 元素的配置内容大多数都不需要开发人员去配置它, 通常在需要时只配置少数 几项即可。 四、简答

49、题 1.请简述元素的作用及使用。 答案 一、填空题 1 2 主键 、 3 refid 4 BEFORE 、 AFTER 5 POOLED 、判断题 1 对 2 对 3 对 4 错 5 对 、选择题 1 C 2 C 3 C 4 D 5 C 第 5 章 Spring 的事务管理 四、简答题 元素的作用就是定义可重用的 SQL 代码片段。使用时,先通过 元素定义重用的代码 片段,然后在需要使用的地方使用 元素的 refid 属性引用了自定义的代码片段。 第 8 章 动态 SQL 习题 一、填空题 1. 当在 MyBaits 文件中使用了 bind元素,在 SQL 语句中可以直接引用bind元素的【

50、】 属性值即可进行动态 SQL 组装。 2. 在使用 MyBaits 的 foreach 时,如果传入的参数是多个的时候,就需要把它们封装成一个 Map 了,这时候 collection 属性值就为 Map 的【 】。 3. 在 MyBaits 映射文件中使用set和if元素组合进行 update 语句动态 SQL 组装时,如果set 元素内包含的内容都为空,则会出现【 】。 4. MyBaits 中trim元素的作用是去除一些特殊的字符串,它的【 】属性代表的是语句 的前缀,而 prefixOverrides 属性代表的是需要去除的哪些特殊字符串。 5. 使用set和if元素相结合的方式来组

51、装 update 语句时,set元素就会动态前置 【 】 关键字,同时也会消除 SQL 语句中最后一个多余的【 】。 二、判断题 1. 可以将任何可迭代对象(如列表、集合等)和任何的字典或者数组对象传递给 foreach作 为集合参数。 ( ) 2. 在 MyBaits 映射文件中使用set和if元素组合进行 update 语句动态 SQL 组装时,如果set 元素内包含的内容都为空,则会出现 SQL 语法错误。 ( ) 3. MyBaits 中对原始 SQL 中的“ where1=1 的条件可以使用where与if元素组合进行替换。 () 4. 在 MyBatis 中if元素用于单条件分支判

52、断,当某个 if的 test 属性判断成立,然后跳过其 他 if 元素进行动态 SQL 组装。( ) 5. MyBatis 中的foreach元素可以用于对数组和集合循环遍历,批量执行 SQL 操作。() 三、选择题 1. 以下不属于foreach元素中使用的属性的是。 () A: separator B: collection C: current D: item 2. 以下关于foreach元素中使用的几种属性的描述错误的是。 () A: item :配置的是循环中当前的元素。 B: index :配置的是当前元素在集合的位置下标。 C: collection :配置的是传递过来的参数类型

53、, 它可以是一个 array、list(或 collection )、Map 集合第 5 章 Spring 的事务管理 的键、 POJO 包装类中数组或集合类型的属性名等。 D: separator :配置的是各个元素的间隔符。 3. 以下关于 MyBatis 的set元素的使用及说法正确的是。 () A: set元素主要用于更新操作,其主要作用是在动态包含的 SQL 语句前输出一个 SET 关 键字,并将 SQL 语句中最后一个多余的逗号去除。 B:使用 MyBatis 的set元素来更新操作时,前端需要传入所有参数字段,否则未传入字段 会默认设置为空。 C:在映射文件中使用和元素组合进行

54、update 语句动态 SQL 组装时,元素内 包含的内容可以都为空, 元素会进行判断处理。 D:在映射文件进行更新操作时,只需要使用 元素就可以进行动态 SQL 组装。 4. 以下有关 MyBatis 动态 SQL 中的主要元素说法错误的是。 ( ) A: 用于单条件分支判断。 B: ( 、 )用于多条件分支判断。 C: 循环语句,常用于 in 语句等列举条件中。 D: 从 OGNL 表达式中创建一个变量, 并将其绑定到上下文, 只于模糊查询的 sql 中。 5. 当有多个选择的情况是,值需要从多个选项中选择一个去执行时,可以使用的动态 SQL 元 素是。( ) A: B: 、 、 C: D

55、: 四、简答题 1. 请简述 MyBatis 动态 SQL 中的主要元素及说明。 答案 一、填空题 1. name 2. 键 3. SQL 语法错误 4. prefix 5. SET 、逗号 、判断题 1 对 2 对 3 对 4 错 5 对 、选择题 1 C 2 C 第 5 章 Spring 的事务管理 3 A 4 D 5 B 四、简答题 MyBatis 动态 SQL 中的主要元素及说明如下: :判断语句,用于单条件分支判断; ( 、):相当于 Java 中的 switch.case.default 语句,用于多条件分 支判断; 、:辅助元素,用于处理一些 SQL 拼装、特殊字符问题; :循环

56、语句,常用于 in 语句等列举条件中;第 5 章 Spring 的事务管理 :从 OGNL 表达式中创建一个变量,并将其绑定到上下文,常用于模糊查询的 第 9 章 MyBatis 的关联映射 习题 1. 以下关于 MyBatis 映射文件中元素属性的说明错误的是。 () A: property :指定映射到的实体类对象属性,与表字段一一对应。 B: column :指定表中对应的字段。 C: javaType :指定映射到实体对象属性的类型。 D: fetchType :指定在关联查询时是否启用延迟加载。 fetchType 属性有 lazy 和 eager 两个属 性值,默认值为 eager

57、。 2. 下面关于数据库中多表之间关联关系说法错误的是。 ( ) A: 一对一关联关系可以在任意一方引入对方主键作为外键。 B: 一对多关联关系在 “一”的一方,添加 “多”的一方的主键作为外键。 C: 多对多关联关系会产生中间关系表,引入两张表的主键作为外键。 D: 多对多关联关系的两个表的主键成可以为联合主键或使用新的字段作为主键。 3. 下面关于 Java 对象之间的关联关系描述正确的是 。( ) A: 一对一的关系就是在本类和对方类中定义同一个类型的对象。 sql 中。 一、填空题 1. MyBatis 是通过 元素的【 2. MyBatis 是通过 元素的【 3. 在关系型数据库中,

58、多对多关系会产生【 主键成为联合主键或使用新的字段作为主键。 4. 在关系型数据库中,一对一可以在【 5. 子元素的 所包含的【 二、判断题 1. MyBatis 的。( 2. 3. 4. 】子元素该元素来处理多对多关联关系的。 】子元素该元素来处理一对一关联关系的。 ofType 属性与 javaType 属性对应,它用于指定实体对象中集合类属性 】。 是同样是通过 元素的 子元素该元素来处理多对多关联关系 ) 5. 三、选择题 MyBatis 在映射文件中加载关联关系对象主要通过两种方式:嵌套查询和嵌套结果。 ( ) 在关系型数据库中,一对多就是在 “一 ”的一方,添加 “多”的一方的主键

59、作为外键。 ( ) MyBatis 中元素的属性与元素相同,且使用也很简单,同样有嵌套 查询和嵌套结果两种关联方式。 ( ) MyBatis 是通过元素的子元素该元素来处理一对一关联关系的。 () 第 5 章 Spring 的事务管理 B: 一对多的关系就是一个 A 类类型对应多个 B 类类型的情况。 C: 多对多的关系只需要在一方的类中引入另一方类型的集合。 D: 多对多关联关系需要在本类中引入本类的集合。 4. 下面属性中不属于元素属性的是。() A: property B: column C: ofType D: javaType 5. 下面关于 元素的描述正确的是。 ( ) A: My

60、Batis 就是通过 元素来处理一对多关联关系的。 B: 元素的属性与 元素完全相同。 C: ofType 属性与 javaType 属性对应,它用于指定实体对象中所有属性所包含的元素类型。 D: 元素只能使用嵌套查询方式。 四、简答题 1. 请简要说明 MyBatis 在映射文件中加载关联关系对象的方式。 答案 一、填空题 1. 2 3. 中间关系 4. 任意一方 :卡 W、,/ 5. 元素类型 、判断题 1. 对 2 对 3. 错 4. 错 5. 对 、选择题 1. D 2. B 3. B 4. C 5. A 四、简答题 MyBatis 在映射文件中加载关联关系对象主要通过两种方式:嵌套查

61、询和嵌套结果。嵌套查询 是指通过执行另外一条 SQL 映射语句来返回预期的复杂类型; 嵌套结果是使用嵌套结果映射来处理 重复的联合结果的子集。 第 5 章 Spring 的事务管理 第 10 章 MyBatis 与 Spring 的整合 习题 一、填空题 1. 在 MyBatis+Spring 的项目中,事务是由【 】来管理的。 2. MyBatis -Spring 团队提供了一种自动扫描的形式来配置 MyBatis 中的映射器 采用 【 】类。 3. 【 】是 MyBatis -Spring 团队提供的一个用于根据 Mapper 接口生成 Mapper 对象的类。 4. SqlSession

62、DaoSupport 是一个抽象支持类,可以通过 SqlSessionDaoSupport 类的【 】 方法来获取所需的 SqlSession。 5. 在进行 Spring 与 MyBatis 整合时, Spring 框架所需要准备的 JAR 包共 10 个,其中包括: 4 个核心模块 JAR , AOP 开发使用的 JAR,【 】和事务的 JAR。 二、判断题 1. MapperFactoryBean 的 参 数 SqlSessionTemplate 用 于 指 定 SqlSessionTemplate 。如 果 与 SqlSessionFactory 同时设定,则只会启用 SqlSessi

63、onFactory 。( ) 2. MyBaits 与 Spring 进行整合时, Dao 层开发可以使用传统的 DAO 方式的开发整合,以及 Mapper 接口方式的开发整合。 ( ) 3. 可以使用 mybatis-spring 包中所提供的 SqISessionTemplate 类或 SqISessionDaoSupport 类来实 现向 DAO 实现类中注入 SqISessionFactory。() 4. 在实际的项目开发中, Spring 与 MyBatis 都是整合在一起使用的。 ( ) 5. MapperFactoryBean 是 MyBatis -Spring 团队提供的一个用

64、于根据 Mapper 接口生成 Mapper 对 象的类。( ) 三、选择题 1. MapperFactoryBean 是 MyBatis-Spring 团队提供的用于根据 Mapper 接口生成 Mapper 对象的 类,该类在 Spring 配置文件中可以配置的参数不包括。 ( ) A: mapperInterface B: SqISessionFactory C: SqISessionTempIate D: basePackage 2. MapperScannerConfigurer 类在 Spring 配置文件中使用时, 可以配置的属性及说明错误的是。 () A: basePackag

65、e:指定映射接口文件所在的包路径,当需要扫描多个包时可以使用分号或逗 号作为分隔符。 B: annotationCIass :指定了要扫描的注解名称,只有被注解标识的类才会被配置为映射器。 C: sqlSessionFactoryBeanName : 指定在 Spring 中定义的 SqlSessionFactory 的 Bean 名称。 D: sqlSessi on TemplateBea nN ame : 指定在 Spring 中定义的 SqlSessi on Template 的 Bea n 名称。 如果定义此属性,则 sqlSessionFactoryBeanName 将起作用 3.

66、在 MyBatis+Spring 的项目中,以下有关事务的相关说法正确的是。 ( ) A: 在 MyBatis+Spring 的项目中,事务是由 MyBatis 来管理的。 第 5 章 Spring 的事务管理 B: 在项目中,数据访问层既是处理业务的地方,又是管理数据库事务的地方。 C: 进行注解开发时,需要在配置文件中配置事务管理器并开启事务注解。 D: 进行注解开发时,需要使用 Transactional 注解来标识表现层中的类。 4. 以下不属于 MapperScannerConfigurer 类,在 Spring 配置文件中使用时需要配置的属性的是。 () A: basePackage B: annotationClass C: sqlSessionFactoryBeanName D: mapperInterface 5. 以下有关采用传统 DAO 开发方式进行 MyBatis 与 Spring 框架的整合的说法错误的是。 ( ) A: 采用传统 DAO 开发方式进行 MyBatis 与 Spring 框架的整合时,只需要编写 DAO 接口。 B: 采用传统 DAO 开发方式

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!