银符考试题库B12
现在是:
试卷总分:100.0
您的得分:
考试时间为:
点击“开始答卷”进行答题
Spring框架的7个模块的作用 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
模 块 | 描 述 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Spring AOP | 采用了面向切面编程的思想,使Spring框架管理的对象支持AOP,同时这个模块也提供了事务管 理,可以不依赖具体的EJB组件,就可以将事务管理集成到应用程序中 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Spring ORM | 提供了对现有ORM框架的支持,例如Hibernate、JDO等 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Spring DAO | 提供了对数据访问对象(Data Access Object,DAO)模式和JDBC的支持。DAO可以实现把业务逻 辑与数据库访问的代码实现分离,从而降低代码的耦合度。通过对JDBC的抽象,简化了开发工作, 同时简化了对异常的处理(可以很好地处理不同数据库厂商抛出的异常) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Spring Web | 提供了Servlet监听器的Context和Web应用的上下文。同时还集成了一些现有的Web框架,例 如Structs |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Spring Context | 扩展核心容器,提供了Spring上下文环境,给开发人员提供了很多非常有用的服务,例如国际化、 E-mail和JNDI访问等 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Spring Web MVC | 提供了一个构建Web应用程序的MVC的实现 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Spring Core | Spring框架的核心容器,它提供了Spring框架的基本功能。这个模块中最主要的一个组件为BeanFactory, 它使用工厂模式来创建所需的对象。同时BeanFactory使用IOC思想,通过读取XML文件的方式 来实例化对象,可以说BeanFactory提供了组件生命周期的管理,组件的创建、装配、销毁等功能 |
Hibernate模块介绍 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
接口名 | 描 述 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Session | 一个轻量级的非线程安全的对象,主要负责被持久化对象与数据库的操作。可以使用SessionFaetory 来创建一个Session,当对数据库的所有操作都执行完成后,就可以关闭Session。Session在访问数据库 时会建立与数据库的连接,这个连接只有在需要时才会被建立 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SessionFactory | 负责初始化Hibernate。它可以被看作数据源的代理,可以用来创建Session对象。此外,SessionFactory 是线程安全的,因此可以被多个线程同时访问。一般而言,SessionFactory会在Hibernate启动时创建一 次,因此,为了便于使用,SessionFactory应该用一个单例模式来实现 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction | 负责事务相关的操作。它的主要方法有commit()和rollback(),其中commit()方法负责事务的提交, rollback()方法负责事务的回滚,可以通过Session的beginTrancation()方法来创建 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Query | 负责执行各种数据库查询。可以使用Hibernate查询语言(Hibernate Query Language,HQL)或SQL语 句两种方式进行查询(这两种查询方式非常类似,与SQL不同的是,HQL语言使用类和属性而不是表 与列名进行查询)。可以通过Session的createQuery()方法来创建Query。此外,Hibernate还提供了另外 一种查询方式QBC(Query By Criteria),其使用方法为:先使用Session实例的createCriteria()方法创建 Criteria对象,接着使用工具类Restrictions的方法为Criteria对象设置查询条件,同时还可以用Order工 具类的方法没置排序方式,最后用Projections工具类的方法进行统计和分组,使用Criteria对象的list() 方法进行查询并返回结果。需要注意的是,QBC是一种类型安全的面向对象的查询方式 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Configuration | 用于读取Hibernate配置文件,并生成SessionFaetory对象。其中配置文件主要有两类:一类是hiber- nate.cfg.xml或hibernate.properties;另一类是映射文件,例如***.hbm.xml。其中hibernate.cfg.xml 或hibernate.properties用来配置Hibernate服务的信息(例如连接数据库使用的驱动类、数据库连接的 URL、数据库的用户名和密码等信息)。如果同时提供了hibernate.cfg.xml和hibernate.properties文件, 那么hibernate.cfg.xml会覆盖hibernate.properties中的配置信息。映射文件(*.hbm.xml)用来配置java 对象与关系数据库记录的映射关系。为了便于管理与维护,通常会给每个对象创建一个单独的映射文件 |
基本SQL语句的使用方式 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
关键字 | 描 述 | 语法格式 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
数据查询 | select | 选择符合条件的记录 | select*from table where条件语句 | |||||||||||||||||||||||||||||||||||||||||||||||||||
数据操纵 | insert | 插入一条记录 | insert into tabIe(字段1,字段2...)values(值1,值2...) | |||||||||||||||||||||||||||||||||||||||||||||||||||
update | 更新语句 | update table set字段名=字段值where条件表达式 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
delete | 删除记录 | Delete from table where条件表达式 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
数据定义 | create | 数据表的建立 | create table tablename(字段1,字段2...) | |||||||||||||||||||||||||||||||||||||||||||||||||||
drop | 数据表的删除 | drop table tablename | ||||||||||||||||||||||||||||||||||||||||||||||||||||
数据控制 | grant | 为用户授予系统权限 | grant<系统权限>|<角色>[,<系统权限>|<角色>]…to<用户 名>|<角色>|public[,<用户名>|<角色>]…[with admin option] |
|||||||||||||||||||||||||||||||||||||||||||||||||||
revoke | 收回系统权限 | revoke<系统权限>|<角色>[,<系统权限>|<角色>]… from<用户名>|<角色>|public[,<用户名>|<角色>]… |
表1 学生表A | |||||||||||||
学 号 | 姓 名 | ||||||||||||
0001 | 张三 | ||||||||||||
0002 | 李四 | ||||||||||||
0003 | 王五 |
表2 学生表B | |||||||||||||
学 号 | 课程名 | ||||||||||||
0001 | 数学 | ||||||||||||
0002 | 英语 | ||||||||||||
0003 | 数学 | ||||||||||||
0004 | 计算机 |
表3 内连接 | ||||||||||||||||||||
学 号 | 姓 名 | 课程名 | ||||||||||||||||||
0001 | 张三 | 数学 | ||||||||||||||||||
0002 | 李四 | 英语 | ||||||||||||||||||
0003 | 王五 | 数学 |
表4 左外连接 | ||||||||||||||||||||
学 号 | 姓 名 | 课程名 | ||||||||||||||||||
0001 | 张三 | 数学 | ||||||||||||||||||
0002 | 李四 | 英语 | ||||||||||||||||||
0003 | 王五 | 数学 | ||||||||||||||||||
0004 | 计算机 |
触发器与存储过程区别 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
触发器 | 存储过程 | |||||||||||||||||||||||||||||||||||||||||||||||||||||
当某类数据操纵DML语句发生时隐式地调用 | 从一个应用或过程中显式地调用 | |||||||||||||||||||||||||||||||||||||||||||||||||||||
在触发器体内禁止使用COMMIT和ROLLBACK语句 | 在过程体内可以使用所有PL/SQL块中都能使用的SQL语 句,包括COMMIT和ROLLBACK语句 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
不能接受参数输入 | 可以接受参数输入 |
表1 Table 1 | |||||||||
Table 1 | |||||||||
C1 | C2 | ||||||||
1 | 1 | ||||||||
2 | 2 | ||||||||
3 | 3 |
表2 Table 2 | |||||||||
Table 2 | |||||||||
C1 | C2 | ||||||||
3 | 3 | ||||||||
4 | 4 | ||||||||
1 | 1 |
表3 使用union得到的查询结果 | |||||||||
C1 | C2 | ||||||||
1 | 1 | ||||||||
2 | 2 | ||||||||
3 | 3 | ||||||||
4 | 4 |
表4 使用union all得到的查询结果 | |||||||||
C1 | C2 | ||||||||
1 | 1 | ||||||||
2 | 2 | ||||||||
3 | 3 | ||||||||
3 | 3 | ||||||||
4 | 4 | ||||||||
1 | 1 |