复习答案.txt

来自「Java大部分的基础知识,EJB3,EJB2,WEBSERVICE,SOAP,J」· 文本 代码 · 共 870 行 · 第 1/3 页

TXT
870
字号
			在执行dml时直接传一个对象进行增删改
			在执行dql时直接返回一个对象,不用手动封装
	
	什么时候用ibatis:
		1、对性能要求很高,要有高度优化的sql时
		2、没有提供整个表结果,提供了几个select语句
		3、大量的业务写在存储过程中 
	ibatis的核心类
		SqlMapClientBuilder:加载sqlmapclient.xml文件及具体的映射文件
		SqlMapClient:相当于hibernate中的session,做数据的增删改查
		
		Reader reader=Resources.getResourceAsReader("路径");
		SqlMapClient smc=SqlMapClientBuilder.buildSqlMapClient(reader);
		smc.queryforObject("命名空间.标签名",Object o);
		smc.queryforList("命名空间.标签名",Object o);
		smc.delete("命名空间.标签名",Object o);
		smc.update("命名空间.标签名",Object o);
		smc.insert("命名空间.标签名",Object o);		
	ibatis的核心配置文件是什么?
		sqlmapclient.xml:说明数据库连接及具体o/r mapping
		buy.xml:具体的o/r mapping说明
	描述struts&spring&ibatis联合的配置文件如何实现?
		si(spring ibatis)
			dataSoruce:在sqlmapclient中去掉数据库连接的相关信息
			sqlMapClient:SqlMapClientFactoryBean
				configLocation 
					classpath:sqlmapclient.xml
					/WEB-INF/sqlmapclient.xml
			customerDao
				dataSource
				sqlMapClient
			buyDao 
				dataSource
				sqlMapClient
			facade
				buyDao
				customerDao
			transactionManager:DataSourceTransactionManager
			abstractProxy:TransactionProxyFactoryBean abstract="true"
				transactionManager
				transacctionAttributes
					PROPAGATION_REQUIRED
					PROPAGATION_REQUIRED,readOnly
			facadeProxy:parent="abstractProxy"
				target:facade			
	当前xml的解析方式有几种,各有什么特点,如何实现?
		dom:document object model(文档对象模型)是树状,每一个节点是一个对象,
			通过节点的方法与属性与外部的程序通信
			解析时将整个xml文件加载到内存中形成一个dom树,可读,可随意跳转
			可写			
			耗内存大,速度慢
			dom的解析
				DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
				DocumentBuilder db=dbf.newDocumentBuilder();
				Document doc=db.parser("文件");
		sax:耗内存小,速度快
			边读边解析,只读、只进,不可写

			sax解析:
				处理类:
				public class MakeHandle extends DefaultHander
				{
					public void startDocument();
					public void startElement();
					public void endDocument();
					public void endElement();
					public void chararter();
				}
				解析:
				SaxParserFactory spf=SaxParserFactory.newInstance();
				SaxParser parser=spf.newParser();
				parser.parse("xml路径",new MakeHandle());
	dom的六大接口及重要方法
		Document:文档本身
			createElement()
			createTextNode()
			NodeList nl=getElementsByTagName("元素")
		Node
			Element
				NodeList nl=getElementsByTagName("元素")
				appendChild();
				getAttribute("属性名")
				setAttribute("属性名","值")
			Text
				getNodeValue();
		NodeList
			item(i)
			getLength();
		Attribute			
	如何生成一个dom对象并将其写到文件中?
		DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
		DocumentBuilder db=dbf.newDocumentBuilder();
		Document doc=db.newDocument("文件");
		Element customer=doc.createElement("customer");
		Element customerName=doc.createElement("customerName");
		Text text=doc.createTextNode("张三");
		customerName.appendChild(text);
		customer.appendChild(customerName);
		doc.appendChild(customer);
		
		TransformerFactory tff=TransformerFactory.newInstance();
		Transformer trformer=tff.newTransformer();
		trformer.transformer(new DOMSource(doc),new ResultStream("c:\a.xml"));
ooad:
	
	什么是模型?模型的原则? 
		模型是现实的浓缩
		作用:
			分析、认识未知的系统
			模型便于决策
			模型可以实现文档化、可视化,便于沟通
		原则:
			模型的好坏决定系统的成败
			模型与现实越接近越说明它的正确性
			模型不止一个,要多个
			模型要根据不同层面的用户,提供不同细节说明。
	九大图形(重重)
		use-case:作需求
		类:从需求到设计都是必须的。
		时序:在详细设计阶段,验证系统的正确性,找方法、找类,与时间有关
		协作:在详细设计阶段,说明类与类的交互,与时序图类似,但没有时间概念,
			通过序号说时工作的先后顺序
		活动:分析某一用例的流程,主要用在需求分析阶段
		状态:一个对象在不同的方法下状态转换。
		对象:对象名:类名+下划线
		构建图:不同组件之间的依赖关系
		部署图:与运行应用程序有关的主机之间的关系,找到系统运行的瓶颈。		
	类图的元素及关系?(重重)
		元素:
			接口
		关系:
			继承(实线+三角)
			实现接口(虚线+三角)
			依赖(虚线+箭头)
			关联(实线+箭头)
			聚集(实线+空心棱形)
			合成(实线+实心棱形)
	use-case的元素及关系?
		元素:
			用例
			角色
			系统边界
		关系:
			用例与用例:
				包含: 必须调用
				扩展:可用可不用
	时序图的特点?:找类、找方法、验证系统的正确性
		横轴:
			时间
		纵轴
			对象
			对象的生命周期
	三级范式:
		主键(projectID employeeID)
			projectID projectName employeeID employeeName hours 职务  小时工资
		完全依赖
			projectID projectName 
			projectID employeeID hours
			employeeID employeeName 职务  小时工资
		不出现传递依赖			
			projectID projectName 
			projectID employeeID hours
			employeeID employeeName 职务  
			职务	小时工资
	e-r图设计的过程
		找实体
		拉关系
		写属性
	ooa与ood的区别
		ooa:是面向客户找业务实体,客户可以看懂,分析员也可以看懂
		ood:是对ooa分析得到的业务实体进一步的细化,是开发人员内部使用,是ooa的全集。
	面向过程与面向对象的区别
		面向对象:
			在分析、设计、实现都是面向对象的与现实世界相统一所以可以降低复杂度、提高正确性。
			重用性高:继承、业务实体变化不大
			可扩展性高:接口
			可维护性高:层与层之间通过接口通信
		面向过程:
			分析是对象实现是流程与现实世界不符,增大了难度,出现偏差的可能性较大。
			重用性不高
			扩展、维护性差
oracle:
	oracle的体系结构
		数据库(静态)
			物理组件:
				参数
				控制
				数据
				日志
			逻辑:
				表空间
		实例(动态)
			进程
				dbwr
				lgwr
				smon
				pmon
				ckpt
				归档进程
			内存	
				SGA
					数据缓冲
					日志
					共享池
						数据字典
				pga:
					一个用户一个
	如何实现一个存储过程?如何实现一个函数?
		create or replace procedure aa(a1 varchar2,a2 out varchar2,a3 in out varchar2)
		is
		begin
		end;
		

		create or replace function aa(a1 varchar2) return number
		is
		begin
			return 1;
		end;
	oracle的触发器与sql-server的触发器的区别?
		oracle:
			before/after insert/delete/update
			for each statement/row
			新数据:  :new
			老数据:   :old
		sql-server:
			之前之后不可选是由sql-server自己确定的
			for each statement(只有语句级)
			新数据inserted
			老数据deleted
	请描述联接、子查询、联合
		联接:多个表列合了一起,会把one复制n-1份
			左:左边所有的右边区配的
			右:右边所有的左边区配的
			select c.*,b.* from customer join buy b on c.customerName=b.customerName;
			
			select c.*,b.* from customer , buy b where c.customerName=b.customerName;
		
		子查询:查询套查询,子查询的结果是父查询的条件 
			select * from buy where customerName in(select customerName from customer);	
		联合:多个表的行合了一起
			union
			minus:前一个sql有后一个没有
			intersect:交集			
	表分区的特点及优点?
		特点:
			逻辑是一张表,物理上没有存储一起。
		优点:
			速度快
			备份快
			一个分区出现故障与其它分区无关
	如何声明、打开、遍历游标?
		declare
			cursor c1 is select * from customer;
			cus customer%rowtype;
		begin
			open c1;
			fetch c1 into cus;
			while(c1%found) loop
				dbms_output.put_line(cus.customerName||'  '||cus.sex);
				fetch c1 into cus;
			end loop;
			close c1;
		end;

		declare 
			type c_type is ref cursor;
			c1 c_type;
		begin
			open c1 for select * from customer;
		end;
	如何实现一个包?
		包声明
		包主体
	如何备份数据、恢复数据
		在dom命令行中
		exp system/system@aptech owner=scott file=scott1
		imp system/system@aptech file=scott1 full=y ignore=y
		imp system/system@aptech file=scott1  ignore=y fromuser= touser=
		
	
	
	
	
	

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?