errors…/>
15、struts框架,错误是,下面那些说法对的?
AStruts中无法完毕上传功能
BStruts框架基于MVC模式
CStruts框架容易引起流程复杂、构造不清晰等问题(清晰)
DStruts可以有效地减少项目类文献数目
二、填空题(5分)
1、调用函数MOD(123,10)返回值为___。
2、selectround(123.67,1)fromdual;这语句输出值为______。
3、创立一种暂时代替变量使用字符是_____。
4、若v_comm=2800,X:
=NVL(V_comm,0),则X值为____。
5、调用函数INSTR(‘Hereyouare’,’er’)返回值为___。
三、判断题(10分)
1、WHERE子句限制行记录,也可以指定限制分组成果条件。
()
2、具备UNIQUE约束列不能包括各种空值。
()
3、DATE型数据中包括着时间值。
()
4、具备外键约束列可以包括空值。
()
5、如果在类型为char(4)列中输入“hello”,则只能存储hell。
()
6、具有Groupby子句查询,其成果是排好序。
()
7、定义游标时,其中select语句不能使用orderby子句。
(子查询不能用)()
8、过程可以有返回值。
()
9、触发器一定会被激发。
()
10、insteadof触发器只是基于视图。
()
四、写出相应SQL语句(括号内为列名)(10分)
1、查询从事各工作(JOB)员工人数。
2、查询与员工SMITH在同一部门(DEPTNO)员工姓名(ENAME),工资(SAL)和部门。
3、查询所有员工姓名(ENAME),工资(SAL)和工资级别(GRADE)。
4、查询获得工资(SAL)最高3个员工信息。
5、查询所有员工姓名(ENAME)及其主管姓名(ENAME)。
五、简答题(15分)
1.在PL/SQL程序中,进行顾客自定义异常解决3个环节是什么?
2.面向对象特性有哪些方面?
并简要简介
3.List、Map、Set三个接口,存取元素时,各有什么特点?
List以特定顺序来持有元素,可有重复元素。
Set无法拥有重复元素,内部排序。
Map保存key-value值,value可多值。
4.struts1.0和struts2.0区别?
如何控制两种框架中单例模式?
5.描述一下如何在struts1.0实现国际化,以两国语言(中文,英文)为例:
6.struts中怎么配备form-bean、action
7.Hibernate自带分页机制是什么?
如果不使用Hibernate自带分页,则采用什么方式分页?
8.hibernate中一对多配备文献返回是什么?
9.什么样数据适合存储到第二级缓存中?
10你普通用spring做什么?
11项目中如何体现Spring中切面编程,详细阐明。
12触发触发器数据操作有哪些?
13解释视图含义以及使用视图好处。
14简述ORACLE中5种约束及其作用。
15ORACLE中过程和函数异同点。
六、编程题(30分)
1、创立一种PL/SQL块,依照顾客输入编号,在emp表中查询出该编号员工姓名、部门号及其主管编号,要有异常解决。
2、创立一种PL/SQL块,依照顾客输入工作,从emp表中逐条输出从事这一工作每位员工编号、姓名和受雇如期,每条信息格式如下:
(用游标实现)
编号姓名受雇日期
7751JOHN95-12-31
3、编写一种函数,用于判断EMP表中某一工作(JOB)与否存在,若EMP表存在此工作名称,则返回TRUE,否则返回FALSE。
4、编写一触发器,在EMP表执行插入或修改前被激发,此触发器将对员工工资(SAL)超过5000进行报错,不能插入或修改,不超过5000才将员工编号、工作及当时日期(SYSDATE)插入UP_EMP表
(注:
此表已建好,表构造为UP_EMP(EMPNONUMBER(4),SALNUMBER(7,2),UDETEDATE))
5下面程序输出成果是多少?
importjava.util.Date;
publicclassTestextendsDate{
publicstaticvoidmain(String[]args){
newTest().test();
}
publicvoidtest(){
System.out.println(super.getClass().getName());
}
}
6下面程序代码输出成果是多少?
publicclasssmallT
{
publicstaticvoidmain(Stringargs[])
{
smallTt=newsmallT();
intb=t.get();
System.out.println(b);
}
publicintget()
{
try
{
return1;
}
finally
{
return2;
}
}
}
7子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序。
8去掉一种Vector集合中重复元素
9有一种字符串,其中包括中文字符、英文字符和数字字符,请记录和打印出各个字符个数
10.xxx公司sql面试
TableEMPLOYEESStructure:
EMPLOYEE_IDNUMBERPrimaryKey,
FIRST_NAMEVARCHAR2(25),
LAST_NAMEVARCHAR2(25),
Salarynumber(8,2),
HiredDateDATE,
Departmentidnumber
(2)
TableDepartmentsStructure:
Departmentidnumber
(2)PrimaryKey,
DepartmentNameVARCHAR2(25).
(1)基于上述EMPLOYEES表写出查询:
写出雇用日期在今年,或者工资在[1000,]之间,或者员工姓名(last_name)以’Obama’打头所有员工,列出这些员工所有个人信息。
(2)基于上述EMPLOYEES表写出查询:
查出部门平均工资不不大于1800元部门所有员工,列出这些员工所有个人信息。
()
(3)基于上述EMPLOYEES表写出查询:
查出个人工资高于其所在部门平均工资员工,列出这些员工所有个人信息及该员工工资高出部门平均工资比例。
答案:
1答案:
ABD
2答案:
D
3答案:
BC
4答案:
AB
5答案AC
6答案:
A,G
7答案:
A
8ABCDE
9ABCDE
10ABD
11ABC
12BD
13AC
14ABC
15ABC
16答案:
C
二填空
3123.7&28002
三判断
××√√√√×√×√
四写出相应SQL语句
1Selectjob,count(*)fromempgroupbyjob;
2Selectename,sal,deptnofromempwheredeptno=(selectdeptnofromempwhereename=’SMITH’);
3Selectename,sal,gradefromemp,salgradewheresalbetweenlosalandhisal;
4Select*from(select*fromemporderbysaldesc)whererownum<=3;
5Selecte1.enameempname,e2.enamemgrnamefromempe1,empe2wheree1.mgr=e2.empno;
五简答
1
可以通过声明和发布来截获自定义异常。
一、在声明某些为声明自定义异常名。
二、在执行某些使用RAISE语句显式地发布异常。
三、在相应异常解决例程中引用已声明异常。
2
(1).抽象:
抽象就是忽视一种主题中与当前目的无关那些方面,以便更充分地注意与当前目的关于方面。
抽象并不打算理解所有问题,而只是选取其中一某些,暂时不用某些细节。
抽象涉及两个方面,一是过程抽象,二是数据抽象。
(2).继承:
继承是一种联结类层次模型,并且容许和勉励类重用,它提供了一种明确表述共性办法。
对象一种新类可以从既有类中派生,这个过程称为类继承。
新类继承了原始类特性,新类称为原始类派生类(子类),而原始类称为新类基类(父类)。
派生类可以从它基类那里继承办法和实例变量,并且类可以修改或增长新办法使之更适合特殊需要。
(3).封装:
封装是把过程和数据包围起来,对数据访问只能通过已定义界面。
面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装对象,这些对象通过一种受保护接口访问其她对象。
(4).多态性:
多态性是指容许不同类对象对同一消息作出响应。
多态性涉及参数化多态性和包括多态性。
多态性语言具备灵活、抽象、行为共享、代码共享优势,较好解决了应用程序函数同名问题。
List以特定顺序来持有元素,可有重复元素。
Set无法拥有重复元素,内部排序。
Map保存key-value值,value可多值。
3List以特定顺序来持有元素,可有重复元素。
Set无法拥有重复元素,内部排序。
Map保存key-value值,value可多值
4a、Action类:
struts1.2规定Action类继承一种基类。
struts2.0Action规定继承ActionSupport基类
b、线程模式
struts1.2Action是单例模式并且必要是线程安全,由于仅有一种Action实例来解决所有祈求。
单例方略限制了Struts1.2Action能做事情,并且开发时特别小心。
Action资源必要是线程安全或同步。
struts2.0Action为每一种祈求产生一种实例,因而没有线程安全问题。
c、Servlet依赖
struts1.2Action依赖于ServletAPI,由于当一种Action被调用时HttpServletRequest和HttpServletResponse被传递给execut办法。
struts2.0Action不依赖于容器,容许Action脱离容器单独测试。
如果需要,Struts2Action依然可以访问初始Request和Response。
但是,其她元素减少或者消除了直接访问HttpServletRequest和HttpServletResponse必要性。
d、可测性
测试struts1.2Action一种重要问题是execute办法暴露了ServletAPI(这使得测试要依赖于容器)。
一种第三方扩展:
strutsTestCase
提供了一套struts1.2模仿对象来进行测试。
Struts2.0Action可以通过初始化、设立属性、调用办法来测试,“依赖注入”也使得测试更容易。
5
1.在工程中加入Struts支持
2.编辑ApplicationResource.properties文献,在其中加入要使用国际化信息,例如:
lable.welcome.china=Welcome!
!
!
3.创立英文资源文献ApplicationResource_en.properites
4.创立暂时中文资源文献ApplicationResource_temp.properites例如:
lable.welcom.china=中华人民共和国欢迎您!
5.对暂时中文资源文献进行编码转换。
可以使用myeclipse插件,也可以在dos下执行:
native2ascii-encodinggb2312ApplicationResource_temp.propertiesApplicationResource_zh_CN.properties
6.在jsp中加入strutsbean标记库<%@tagliburi="/WEB-INF/struts-bean.tld"prefix="bean"%>
显示信息:
可以在struts-config.xml文献中定义各种资源包,而每个资源包可使用key属性指定包名称
6.6form-bean配备:
(在配备文献struts-config.xml中):
name:
指定form名字;type指定form类型:
包名+类名;
action配备:
(在配备文献struts-config.xml中)
path=”?
”
attribute="?
"
input="?
"
name="?
"
parameter="?
"
scope="?
"
type="?
"
71、hibernate自带分页机制:
获得Session对象后,从Session中获得Query对象。
用Query.setFirstResult():
设立要显示第一行数据,
Query.setMaxResults():
设立要显示最后一行数据。
2、不使用hibernate自带分页,可采用sql语句分页,
如:
5:
为每页显示记录,2为当前页:
select*top5fromtablewheretabIdnotin(selecttabIdtop(2-1)*5fromtable);
8hibernate中一对多配备文献会相应映射为两张表,并且它们之间关系是一对多。
例如:
一种student和classes表关系。
一种学生只能是一种班,一种班可以有各种学生。
91很少被修改数据2不是很重要数据,容许浮现偶尔并发数据3不会被并发访问
10控制反转IOCAOP
11面向切面编程:
重要是横切一种关注点,将一种关注点模块化成一种切面。
在切面上声明一种告知(Advice)和切入点(Pointcut);告知:
是指在切面某个特定连接点(代表一种办法执行。
通过声明一种org.aspectj.lang.JoinPoint类型参数可以使告知(Advice)主体某些获得连接点信息。
)上执行动作。
告知中定义了要插入办法。
切入点:
切入点内容是一种表达式,以描述需要在哪些对象哪些办法上插入告知中定义办法。
项目中用到Spring中切面编程最多地方:
声明式事务管理。
a、定义一种事务管理器
b、配备事务特性(相称于声明告知。
普通在业务层类某些办法上定义事务)
c、配备哪些类哪些办法需要配备事务(相称于切入点。
普通是业务类办法上)
12Insert条件谓词inserting;
Update条件谓词updating;
Delete条件谓词deleting。
13视图是一种Oracle对象,是来自一张或多张表或视图中数据子集逻辑表达。
特点:
限制对数据库访问;容易实现数据复杂查询;维护数据独立性;对于相似数据可以产生不同视图。
14Primarykey保证非空且唯一;
Foreignkey保证引用完整性;
Unique保证列或者列组合中每个值都是唯一;
Check限制每条记录都要满足条件;
Notnull保证该列不能保存空值。
15两者都带有0个或各种参数,参数可以具备模式。
两者都是PL/SQL语句块不同形式,均有声明段、可执行段以及异常段。
两者都可以存储在数据库中或在语句块中声明
两者不同是,过程调用自身是一种PL/SQL语句,而函数总是向调用块返回一种值。
16使用%rowtype属性声明记录变量长处是什么?
可以不必懂得数据库中列数量和类型。
在运营期间,数据库中列数量和类型也许发生变化。
在SELECT语句中使用该属性可以有效地检索表中行。
六编程
1SETserveroutputON;
Declare
v_empnoemp.empno%type:
=’&员工编号’;
v_enameemp.ename%type;
v_deptnoemp.deptno%type;
v_mgremp.mgr%type;
Begin
SELECTename,deptno,mgrINTOv_ename,v_deptno,v_mgrfromempWHEREempno=v_empno;
DBMS_OUTPUT.PUT_LINE(‘员工’||v_ename||’在部门’||’v_deptno’||’主管’||v_mgr);
EXCEPTION
WHENNO_DATA_FOUNDTHEN
DBMS_OUTPUT.PUT_LINE(‘没有此员工’);
END;
2Declare
Cursoremp_cur(v_jobemp.job%TYPE)is
Selectempno,ename,hiredatefromempwherejob=v_job;
v_empnoemp.empno%TYPE;
v_enameemp.ename%TYPE;
v_hiredateemp.hiredate%TYPE;
BEGIN
OPENemp_cur(upper(‘&job’));
LOOP
Fetchemp_curINTOv_empno,v_ename,v_hiredate;
Exitwhenemp_cur%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(‘编号姓名工资’);
DBMS_OUTPUT.PUT_LINE(v_empno||v_ename||v_hiredate);
ENDLOOP;
CLOSEemp_cur;
END;
Declare
Cursoremp_cur(v_jobemp.job%TYPE)is
Selectempno,ename,hiredatefromempwherejob=v_job;
v_empnoemp.empno%TYPE;
v_enameemp.ename%TYPE;
v_hiredateemp.hiredate%TYPE;
BEGIN
FORiINemp_cur(upper(‘&job’))LOOP
v_empno:
=i.empno;
v_ename:
=i.ename;
v_hiredate:
=i.hiredate;
DBMS_OUTPUT.PUT_LINE(‘编号姓名工资’);
DBMS_OUTPUT.PUT_LINE(v_empno||v_ename||v_hiredate);
ENDLOOP;
END;
3CREATEORREPLACEFUNCTIONf_emp(f_jobemp.job%TYPE)
RETURNBOOLEAN
I