ssm框架题库-java

发布时间 : 星期二 文章ssm框架题库-java更新完毕开始阅读

第5章 Spring的事务管理

习题

一、填空题

1. 使用基于注解方式的事务管理需要在使用事务的Spring Bean类或者Bean类的方法上添加

注解【 】。

2. Spring的声明式事务管理可以通过两种方式来实现,一种是基于XML的方式,另一种是基

于【 】的方式。

3. Spring2.0以后,提供了tx命名空间来配置事务,tx命名空间下提供了【 】元素来配

置事务的通知(增强处理)。

4. 在Spring的所有JAR包中,包含一个名为【 】的JAR包,该包就是Spring提供的用

于事务管理的依赖包。

5. 声明式事务管理:是通过【 】实现的事务管理。 二、判断题

1. 基于XML方式的声明式事务管理是通过在配置文件中配置事务规则的相关声明来实现的。

( )

2. 编程式事务管理是通过编写代码实现的事务管理,包括定义事务的开始、正常执行后的事

务提交和异常时的事务回滚。( )

3. Spring的事务管理简化了传统的事务管理流程,并且在一定程度上减少了开发者的工作量。

( )

4. Spring的声明式事务管理可以通过两种方式来实现,一种是基于XML的方式,另一种是基

于Annotation的方式。( )

5. @Responsebody注解与@RequestMapping注解配合使用时,页面中将可以获取到方法的返

回值。( )

三、选择题

1. 以下关于@Transactional注解可配置的参数信息及秒正确的是。( )

A: value用于指定需要使用的事务管理器,默认为\; B: read-only用于指定事务是否只读,默认为true;

C: isolation用于指定事务的隔离级别,默认为Isolation.READ_COMMITTED; D: propagation用于指定事务的传播行为,默认为Propagation. SUPPORTS;

2. 以下基于XML方式的声明式事务管理配置文件中元素的子元素属性

描述错误的是。( )

A: name:该属性为必选属性,它指定了与事务属性相关的方法名 B: propagation:用于指定事务的传播行为,它的默认值为SUPPORTS C: isolation:该属性用于指定事务的隔离级别,其默认值为DEFAULT D: read-only:该属性用于指定事务是否只读,其默认值为false 3. 以下有关事务管理方式相关说法错误的是。( )

A: Spring中的事务管理分为两种方式:一种是传统的编程式事务管理,另一种是声明式事务管理。

B: 编程式事务管理:是通过AOP技术实现的事务管理,就是通过编写代码实现的事务管理,包括定义事务的开始、正常执行后的事务提交和异常时的事务回滚。

C: 声明式事务管理:其主要思想是将事务管理作为一个“切面”代码单独编写,然后通过AOP技术将事务管理的“切面”代码植入到业务目标类中。

D: 声明式事务管理最大的优点在于开发者无需通过编程的方式来管理事务,只需在配置文件中进行相关的事务规则声明,就可以将事务规则应用到业务逻辑中。 4. 以下有关Spring事务管理及核心接口说法错误的是。( )

A: PlatformTransactionManager接口是Spring提供的平台事务管理器,主要用于管理事务。 B: TransactionDefinition接口是事务定义(描述)的对象,该对象中定义了事务规则,并提供了获取事务相关信息的方法。

C: TransactionStatus接口是事务的状态,它描述了某一时间点上事务的状态信息。

D: 在事务管理过程中,传播行为可以控制是否需要创建事务以及如何创建事务,通常情况下,对于数据的查询、插入、更新和删除操作,必须进行事务管理。 5. 下列选项中,哪一个不是Spring中事务管理的核心接口。( )

A: PlatformTransactionManager B: TransactionDefinition C: TransactionStatus D: TransactionManager

四、简答题

1. 请列举PlatformTransactionManager接口提供了有哪些事务操作方法,并对这些方法分别进

行简单说明。

答案

一、填空题

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 四、简答题

PlatformTransactionManager接口中提供了三个事务操作方法,具体如下所示:

(1)TransactionStatus getTransaction(TransactionDefinition definition ):用于获取事务状态信息。 (2)void commit(TransactionStatus status):用于提交事务。

(3)void rollback(TransactionStatus status):用于回滚事务。

第6章 初识MyBatis

习题

一、填空题

1. MyBatis的删除操作在映射文件中是通过配置【 】元素来实现的。

2. MyBatis映射文件中元素是配置文件的根元素,它包含一个【 】属性,该属

性为这个指定了唯一的命名空间。

3. 使用MySQL中的【 】函数进行字符串拼接,可以有效防止模糊查询时可能出现的

SQL注入问题。

4. mybatis-config.xml作为MyBatis的全局配置文件,配置了MyBatis的运行环境等信息,其

中主要内容是获取【 】。 5. 【 】是当前主流的Java持久层框架之一,它与Hibernate一样,也是一种ORM框架。 二、判断题

1. MyBatis映射文件中元素是配置文件的根元素,它包含一个namespace属性,该

属性为这个指定了唯一的命名空间。( ) 2. 使用MyBatis框架非常简单,只需在应用程序中引入MyBatis框架lib目录中的全部JAR包

以及数据库驱动包即可进行项目运行。( )

3. ORM就是一种为了解决面向对象与关系型数据库中数据类型不匹配的技术,它通过描述

Java对象与数据库表之间的映射关系,自动将Java应用程序中的对象持久化到关系型数据库的表中。( )

4. MyBatis的更新操作也需要进行事务提交。( )

5. 创建的映射文件中的SQL语句要以面向对象的写法进行书写。( ) 三、选择题

1. MyBatis的删除操作有关说发错误的是。( )

A: MyBatis的删除操作在映射文件中是通过配置元素来实现的。 B: MyBatis的删除操作也需要进行事务提交。

C: MyBatis的删除操作执行了SqlSession的delete()方法。

D: MyBatis的删除操作和添加操作时,也需要封装整个实体类。 2. MyBatis的更新操作有关说发错误的是。( )

A: MyBatis的更新操作在映射文件中是通过配置元素来实现的 。 B: MyBatis的更新操作也需要进行事务提交。

C: MyBatis的更新操作执行了SqlSession的update()方法 。

D: MyBatis的更新操作和添加操作时,只需要将insert()方法改为updat()方法即可。 3. 关于MyBatis模糊查询中进行SQL字符串拼接时,说法错误的是。( )

A: 使用“${}”进行SQL字符串拼接时,无法防止SQL注入问题。 B: 可以使用MySQL中的concat()函数进行字符串拼接。

C: 使用MySQL中的concat()函数进行字符串拼接,也无法防止SQL注入。 D: 使用MySQL中的concat()函数进行字符串拼接,导致数据库移植性变差。 4. 有关MyBatis工作原理说法错误的是。( )

A: MyBatis的全局配置文件配置了MyBatis的运行环境等信息,其中主要内容是获取数据库连接

B: MyBatis映射文件中配置了操作数据库的SQL语句,需要在MyBatis的全局配置文件中加载才能执行

C: 可以通过MyBatis的环境等配置信息构建会话对象SqlSession D: SqlSession对象,该对象中包含了执行SQL的所有方法

5. 使用ORM框架后,应用程序不再直接访问底层数据库,而是以()的方式来操作持久化对

象(PO,即Persisent Object)。( )

A: 面向业务B: Hibernate C: 面向对象 D: MyBatis

四、简答题

1. 请简述Hibernate和MyBatis这两个框架的主要区别。

答案

一、填空题

1. 2. namespace 3. concat() 4. 数据库连接 5. MyBatis 二、判断题

1. 错 2. 错 3. 对 4. 对 5. 错 三、选择题

1. D 2. D 3. C 4. C 5. C 四、简答题

Hibernate是一个全表映射的框架。通常开发者只需定义好持久化对象到数据库表的映射关系,就可以通过Hibernate提供的方法完成持久层操作,开发者并不需要熟练的掌握SQL语句的编写,所以其开发效率会高于MyBatis。而Hibernate自身也存在着一些缺点,例如它在多表关联时,对SQL查询的支持较差;更新数据时,需要发送所有字段;不支持存储过程;不能通过优化SQL来优化性能等。这些问题导致其只适合在场景不太复杂且对性能要求不高的项目中使用。

MyBatis是一个半自动映射的框架。这里所谓的“半自动”是相对于Hibernate全表映射而言的。与Hibernate相比,虽然使用MyBatis手动编写SQL要比使用Hibernate的工作量大,但MyBatis可以配置动态SQL并优化SQL,可以通过配置决定SQL的映射规则,它还支持存储过程等。对于一些复杂的和需要优化性能的项目来说,显然使用MyBatis更加合适。

联系合同范文客服:xxxxx#qq.com(#替换为@)