ssm框架题库-java.doc
《ssm框架题库-java.doc》由会员分享,可在线阅读,更多相关《ssm框架题库-java.doc(35页珍藏版)》请在咨信网上搜索。
第1章 Spring的基本应用 习题 一、 填空题 1. 依赖注入的作用就是在使用Spring框架创建对象时,动态的将其所依赖的对象注入到【 】组件中。 2. 在使用Spring框架之后,对象的实例不再由调用者来创建,而是由【 】来创建,Spring容器会负责控制程序之间的关系,而不是由调用者的程序代码直接控制。 3. 在Spring入门程序中只需将Spring的4个基础包以及【 】的JAR包复制到lib目录中,并发布到类路径下即可。 4. 简单来说,BeanFactory就是一个管理Bean的工厂,它主要负责初始化各种Bean,并调用它们的【 】方法。 5. Spring开发所需的JAR包分为两个部分:【 】和【 】。 二、 判断题 1. Spring中基于构造方法的依赖注入通过调用带参数的构造方法来实现,每个参数代表着一个依赖。( ) 2. 通常在Java项目中,会采用通过FileSystemXmlApplicationContext类来实例化ApplicationContext容器的方式。( ) 3. 初学者学习Spring框架时,只需将Spring的4个基础包以及commons-logging.jar复制到项目的lib目录,并发布到类路径中即可。( ) 4. 依赖注入的作用就是在使用Spring框架创建对象时,动态的将其所依赖的对象注入到Bean组件中。( ) 5. Spring框架采用的是分层架构,它一系列的功能要素被分成20个模块。( ) 三、 选择题 1. 以下关于Spring核心容器相关说法错误的是。( ) A: Spring框架的所有功能都是通过其核心容器来实现的。 B: 创建BeanFactory实例时,需要提供Spring所管理容器的详细配置信息,这些信息通常采用XML文件形式来管理。 C: ApplicationContext不仅包含了BeanFactory的所有功能,还添加了对国际化、资源访问、事件传播等方面的支持。 D: 通常在Java项目中,会采用通过ClassPathXmlApplicationContext类来实例化ApplicationContext容器的方式,而在Web项目中,ApplicationContext容器的实例化工作会交由Web服务器来完成。 2. 以下有关Spring的四个基础包说法正确的是。( ) A: Spring的四个基础包,它们分别对应Spring Web容器的四个模块。 B: Spring的四个基础包有spring-core.RELEASE.jar、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具有简单、可测试和松耦合等特点,从这个角度出发,Spring就是应用于任何Java应用的开发中; B: Spring提供了对AOP的支持,它允许将一些通用任务,如安全、事务、日志等进行集中式处理,从而提高了程序的复用性 C: Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护工作都交给Spring容器管理,杜绝了组件之间的耦合性 D: Spring增加了Java EE开发中一些API的使用难度 4. Spring的核心容器是其他模块建立的基础,以下哪个不是该容器的组成模块。( ) A: Beans模块 B: Core模块 C: Context模块 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 四、 简答题 Spring的实现方式通常有两种,一种是属性setter方法注入,另一种是构造方法注入。属性setter方法注入是指IoC容器使用setter方法来注入被依赖的实例。通过调用无参构造器或无参静态工厂方法实例化Bean后,调用该Bean的setter方法,即可实现基于setter方法的依赖注入。构造方法注入是指IoC容器使用构造方法来注入被依赖的实例。基于构造方法的依赖注入通过调用带参数的构造方法来实现,每个参数代表着一个依赖。 第2章 Spring中的Bean 习题 一、 填空题 1. 所谓自动装配,就是将一个Bean自动的注入到到其他Bean的【 】中。 2. @Controller通常作用在控制层,如Spring MVC的【 】,用于将控制层的类标识为Spring中的Bean,其功能与@Component 相同。 3. 【 】注解用于将数据访问层(DAO层)的类标识为Spring中的Bean,其功能与@Component 相同。 4. 对于【 】作用域的Bean,Spring只负责创建,当容器创建了Bean实例后,Bean的实例就交给客户端代码来管理,Spring容器将不再跟踪其生命周期。 5. 实例工厂方式采用直接创建Bean实例的方式,在配置文件中,需要实例化的Bean是通过【 】属性指向配置的实例工厂,然后使用factory-method属性确定使用工厂中的哪个方法。 二、 判断题 1. @Component注解用于描述Spring中的Bean,它是一个泛化的概念,仅仅表示一个组件,并且可以作用在任何层次,使用时只需将该注解标注在相应方法上即可。( ) 2. Spring提供了3种基于XML的装配方式:设值注入、构造注入和属性注入。( ) 3. 每次客户端请求singleton作用域的Bean时,Spring容器都会创建一个新的实例,并且不会管那些被配置成singleton作用域的Bean的生命周期。( ) 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. 以下有关Bean的装配方式说法正确的是。( ) A: Spring容器支持多种形式的Bean的装配方式,如基于XML的装配、基于注解(Annotation)的装配和自动装配(其中最常用的是基于XML的装配); B: Spring提供了3种基于XML的装配方式:设值注入、构造注入和属性注入; C: 在Spring实例化Bean的过程中,Spring首先会调用Bean的默认构造方法来实例化Bean对象,然后通过反射的方式调用setter方法来注入属性值; D: 设值注入要求一个Bean必须提供一个有参构造方法并且为需要注入的属性提供对应的setter方法。 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通常作用在业务层(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 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配置文件中,<aop:aspect>子元素的pointcut-ref属性用于指定一个已经存在的【 】。 3. 在Spring的配置文件中,配置切面使用的是【 】元素。 4. 在Spring中,使用【 】是创建AOP代理的基本方式。 5. AOP术语中【 】表示AOP框架在特定的切入点执行的增强处理,即在定义好的切入点处所要执行的程序代码。 二、 判断题 1. 如果在同一个连接点有多个通知需要执行,那么在同一切面中,目标方法之前的前置通知和环绕通知的执行顺序是未知的,目标方法之后的后置通知和环绕通知的执行顺序也是未知的。( ) 2. AspectJ框架中的注解@After用于定义最终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也尽量与AspectJ保持一致。( ) 三、 选择题 1. 以下不属于ProxyFactoryBean类中的常用可配置属性的是。( ) A: target B: proxyInterfaces C: targetClass D: interceptorNames 2. 以下哪种类型不是Spring中的通知类型。( ) A: 异常通知 B: 前置通知 C: 后置通知 D: 最终通知 3. 关于AspectJ注解的介绍,说法错误的是。( ) A: @Aspect用于定义一个切面 B: @Pointcut用于定义切入点表达式 C: @Before用于定义前置通知,相当于BeforeAdvice D: @After用于定义后置通知,相当于AfterReturningAdvice 4. 以下有关CGLIB代理相关说法正确的是。( ) A: CGLIB代理的使用非常简单,但它还有一定的局限性——使用动态代理的对象必须实现一个或多个接口。 B: 如果要对没有实现接口的类进行代理,那么可以使用CGLIB代理。 C: CGLIB是一个高性能开源的代码生成包,在使用时需要另外导入CGLIB所需要的包。 D: Spring中的AOP代理,可以是JDK动态代理,也可以是CGLIB代理。 5. 以下关于Spring AOP 的介绍错误的是。( ) A: AOP的全称是Aspect-Oriented Programming,即面向切面编程(也称面向方面编程)。 B: AOP采取横向抽取机制,将分散在各个方法中的重复代码提取出来,这种采用横向抽取机制的方式,采用OOP思想是无法办到的。 C: 虽然AOP是一种新的编程思想,采取横向抽取机制,是OOP的升级替代品。 D: 目前最流行的AOP框架有两个,分别为Spring AOP和AspectJ。 四、 简答题 1. 请对Spring的通知类型进行简要说明。 答案 一、 填空题 1. @Pointcut 2. 切入点名称 3. <aop:aspect> 4. ProxyFactoryBean 5. Advice 二、 判断题 1. 对 2. 对 3. 对 4. 错 5. 错 三、 选择题 1. C 2. D 3. D 4. C 5. C 四、 简答题 Spring中主要包含5种通知类型,分别是环绕通知,前置通知,后置通知,异常通知和引介通知。其中,环绕通知表示在目标方法执行前后实施增强,可以应用于日志、事务管理等功能。前置通知表示在目标方法执行前实施增强,可以应用于权限管理等功能。后置通知表示在目标方法执行后实施增强,可以应用于关闭流、上传文件、删除临时文件等功能。异常通知表示在方法抛出异常后实施增强,可以应用于处理异常记录日志等功能。引介通知表示在目标类中添加一些新的方法和属性,可以应用于修改老版本程序(增强类)。 第4章 Spring的数据库开发 习题 一、 填空题 1. JdbcTemplate类中还提供了大量的【 】方法来处理各种对数据库表的查询操作。 2. JdbcTemplate类中的【 】方法可以完成插入、更新和删除数据的操作。 3. 【 】就是Junit4用来测试的注解,要测试哪个方法,只需要在相应测试的方法上添加此注解即可。 4. JDBC连接数据库时需要4个基本属性,包括有【 】、url、username和password。 5. JdbcTemplate类的继承关系十分简单。它继承自抽象类【 】,同时实现了JdbcOperations接口。 二、 判断题 1. 在使用Junit进行单一测试时,JUnit视图窗口的进度条为绿色表明运行结果正确;如果进度条为红色则表示有错误,并且会在窗口中显示所报的错误信息。( ) 2. 定义jdbcTemplate时,需要将dataSource注入到jdbcTemplate中。( ) 3. JdbcOperations接口定义了在JdbcTemplate类中可以使用的操作集合,包括添加、修改、查询和删除等操作。( ) 4. JdbcTemplate类中还提供了大量的query()方法来处理各种对数据库表的查询操作。( ) 5. 在JdbcTemplate类中,提供了大量的更新和查询数据库的方法,我们就是使用的这些方法来操作数据库的。( ) 三、 选择题 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: 核心包 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语句,并通过RowMapper返回一个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: queryForList(String sql,Object[] args, class<T> 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对程序中的方法进行测试时的步骤如下: 1、先创建一个普通测试方法,并在方法上添加单元测试的注解@Test; 2、添加@Test注解后,在注解处会报错,将鼠标移动至@Test注解处,会弹出错误提示框,单击提示框中的Add JUnit4 library to the build path后,Eclipse会自动将JUnit4的支持包加入到项目中; 3、在执行程序时,只需使用鼠标右键单击测试方法,在弹出的快捷菜单中选择Run As中的JUnit Test选项来运行测试方法即可。 第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方式的声明式事务管理配置文件中<tx:advice>元素的子元素<tx:method>属性描述错误的是。( ) 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. <tx:advice> 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映射文件中<mapper>元素是配置文件的根元素,它包含一个【 】属性,该属性为这个<mapper>指定了唯一的命名空间。 3. 使用MySQL中的【 】函数进行字符串拼接,可以有效防止模糊查询时可能出现的SQL注入问题。 4. mybatis-config.xml作为MyBatis的全局配置文件,配置了MyBatis的运行环境等信息,其中主要内容是获取【 】。 5. 【 】是当前主流的Java持久层框架之一,它与Hibernate一样,也是一种ORM框架。 二、 判断题 1. MyBatis映射文件中<mappers>元素是配置文件的根元素,它包含一个namespace属性,该属性为这个<mapper>指定了唯一的命名空间。( ) 2. 使用MyBatis框架非常简单,只需在应用程序中引入MyBatis框架lib目录中的全部JAR包以及数据库驱动包即可进行项目运行。( ) 3. ORM就是一种为了解决面向对象与关系型数据库中数据类型不匹配的技术,它通过描述Java对象与数据库表之间的映射关系,自动将Java应用程序中的对象持久化到关系型数据库的表中。( ) 4. MyBatis的更新操作也需要进行事务提交。( ) 5. 创建的映射文件中的SQL语句要以面向对象的写法进行书写。( ) 三、 选择题 1. MyBatis的删除操作有关说发错误的是。( ) A: MyBatis的删除操作在映射文件中是通过配置<delete>元素来实现的。 B: MyBatis的删除操作也需要进行事务提交。 C: MyBatis的删除操作执行了SqlSession的delete()方法。 D: MyBatis的删除操作和添加操作时,也需要封装整个实体类。 2. MyBatis的更新操作有关说发错误的是。( ) A: MyBatis的更新操作在映射文件中是通过配置<update>元素来实现的 。 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. <delete> 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更加合适。 第7章 MyBatis的核心配置 习题 一、 填空题 1. 当数据表中的列和需要返回的对象的属性不完全一致, MyBatis是不会自动赋值的。此时,就可以使用【 】元素进行处理。 2. <resultMap>元素的子元素<id>用于表示哪个列是【 】,而【 】元素用于表示POJO和数据表中普通列的映射关系。 3. MyBaits映射文件中使用<include>元素的【 】属性可以引用自定义的代码片段,其属性值为自定义代码片段的id。 4. MyBatis映射文件中<insert>的<selectKey>子元素的order属性可以被设置为【 】或【 】。 5. 对于数据源的配置,MyBatis框架提供了UNPOOLED、【 】和JNDI三种数据源类型。 二、 判断题 1. <resultMap>的子元素<association>和<collection>用于处理多表时的关联关系。( ) 2. MyBatis映射文件的<insert>元素的属性与<select>元素的属性大部分相同,但还包含了3个特有属性。( ) 3. MyBatis框架提供了许多默认别名,由于别名不区分大小写,所以在使用时要注意重复定义的覆盖问题。( ) 4. 映射文件中可以包含多个id值相同的<resultMap>元素。( ) 5. 与<insert>元素一样,<update>和<delete>元素在执行完之后,也会返回一个表示影响记录条数的整数。( ) 三、 选择题 1. 以下有关<sql>元素说法错误的是。( ) A: <sql>元素的作用就是定义可重用的SQL代码片段,然后在其他语句中引用这一代码片段。 B: 使用<include>元素的refid属性可以引用自定义的代码片段。 C: 使用<include>元素refid的属性值为自定义代码片段的name。 D: <sql>元素是<mapper>元素的子元素。 2. 以下有关MyBatis映射文件中<insert>元素说法正确的是。( ) A: <insert>元素用于映射插入语句,在执行完元素中定义的SQL语句后,没有返回结果。 B: <insert>元素的属性与<select>元素的属性相同。 C: keyColumn属性用于设置第几列是主键,当主键列不是表中的第一列时需要设置。 D: useGeneratedKeys(仅对insert有用)此属性会使MyBatis使用JDBC的getGeneratedKeys()方法来获取由数据库内部生产的主键。 3. 以下关于<select>元素及其属性说法错误的是。( ) A: <select>元素用来映射查询语句,它可以帮助我们从数据库中读取出数据,并组装数据给业务开发人员。 B: parameterType属性表示传入SQL语句的参数类的全限定名或者别名。 C: resultMap表示外部resultMap的命名引用,返回时可以同时使用resultType和resultMap D: 在同一个映射文件中可以配置多个<select>元素。 4. 关于<typeHandlers>元素说法错误的是。( ) A: <typeHandler>元素就是用来在配置文件中注册自定义的类型处理器的,它的使用方式有两种。 B: 通过<typeHandlers>元素的子元素<typeHandler>就可以配置单个类型处理器。 C: 通过<typeHandlers>元素的子元素<package>可以配置包下的所有类型处理器。 D: <typeHandlers>元素的子元素<package>的handler属性用于指定类型处理器所在的包名,系统会在启动时自动的扫描com.itheima.type包下所有的文件,并把它们作为类型处理器。 5. 有关MyBatis配置文件中<settings>元素的说法错误的是。( ) A: <settings>元素主要用于改变MyBatis运行时的行为,例如开启二级缓存、开启延迟加载等。 B: 虽然不配置<settings>元素,也可以正常运行MyBatis,但是熟悉<settings>的配置内容以及它们的作用还是十分必要的。 C: <settings>元素中延迟加载的全局开关的参数lazyLoadingEnabled默认开启。 D: <settings>元素的配置内容大多数都不需要开发人员去配置它,通常在需要时只配置少数几项即可。 四、 简答题 1. 请简述<sql>元素的作用及使用。 答案 一、 填空题 1. <resultMap> 2. 主键 、 <result> 3. refid 4. BEFORE 、AFTER 5. POOLED 二、 判断题 1. 对 2. 对 3. 对 4. 错 5. 对 三、 选择题 1. C 2. C 3. C 4. D 5. C 四、 简答题 <sql>元素的作用就是定义可重用的SQL代码片段。使用时,先通过<sql>元素定义重用的代码片段- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ssm 框架 题库 java
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文