⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 复习8.txt

📁 Java大部分的基础知识,EJB3,EJB2,WEBSERVICE,SOAP,JMS,MQ,还有些面试题
💻 TXT
字号:
21:32 2008-08-19如何通过oracle实向分页处理,在java中怎样调用
		--oracle的实现
		create or replace package myPack
		is
			c_type is ref cursor;
			procedure getPage(p_sql varchar2,pageSize number,currentPage number,c1 out c_type)	;
		end;

		create or replace package body myPack
		is
			
			procedure getPage(p_sql varchar2,pageSize number,currentPage number,c1 out c_type)
			is			
				v_sql varchar2(2000);
			begin
				v_sql:='select * from ('||p_sql||') where rownum<='||currentPage*pageSize;
				v_sql:=v_sql||'  minus  ';
				v_sql:=v_sql||'select * from ('||p_sql||') where rownum<='||((currentPage1-)*pageSize);
				open c1 for v_sql;
			end;		
		end;
		--java调用oracle
		CallStatement cs=con.preCall("call {myPack.getPage(?,?,?,?)}");
		cs.setString(1,"select * from customer");
		cs.setInt(2,2);
		cs.setInt(3,2);
		cs.registerOutParameter(4,OracleTypes.cursorType);
		cs.execute();
		ResultSet rs=cs.getObejct(4);
		while(rs.next())
		{

		}
	如何通过sqlserver分页:
		通过top分页
		--通用代码
		SELECT TOP 页大小 *
		FROM TestTable
		WHERE ID NOT IN
		        (SELECT TOP 页大小*(页数-1) id
		         FROM 表
		         ORDER BY id)
		ORDER BY ID
				
		create table aa
		(
			a1 varchar(20) primary key,
			a2 varchar(20)
		);		
		insert into aa values('a01','11111111111111111');
		insert into aa values('a02','11111111111111111');
		insert into aa values('a03','11111111111111111');
		insert into aa values('a04','11111111111111111');
		insert into aa values('a05','11111111111111111');
		insert into aa values('a06','11111111111111111');
		insert into aa values('a07','11111111111111111');
		insert into aa values('a08','11111111111111111');
		insert into aa values('a09','11111111111111111');
		insert into aa values('a10','11111111111111111');
		insert into aa values('a11','11111111111111111');
		insert into aa values('a12','11111111111111111');
		insert into aa values('a13','11111111111111111');
		insert into aa values('a14','11111111111111111');
		insert into aa values('a15','11111111111111111');
		insert into aa values('a16','11111111111111111');
		insert into aa values('a17','11111111111111111');
		insert into aa values('a18','11111111111111111');
		
		
		SELECT TOP 2  *
		FROM aa
		WHERE a1 NOT IN
		        (SELECT TOP 0 a1
		         FROM aa
		         ORDER BY a1)
		ORDER BY a1
		
		--第二页
		select top 2 * from aa
		where a1 not in(select top 2 a1 from aa order by a1)
		order by a1;
		
		
		--第三页
		
		select top 2 * from aa
		where a1 not in
		(
			select top 4 a1 from aa order by a1
		)
		order by a1;
		--还有一种方式是通过sqlserver提供的游标分页
	如何通过java的session实现分页,java的session分页与数据库分页优缺点。
		java分页:
			通过持久层取出一个表的所有信息放到一个集合中,
			确定一页显示多少行
			根据集合的数量及一页显示多少行的信息确定总共有多少页
			根所客户的请求确定客户需要的当前页
			定位到当前页的第一行(page-1)*pageSize
				每页显示2行,即pageSize=2
				显示第一页
					currentPageFirstRow:第一页的第一行:(1-1)*pageSize
				page=2
					第二页的第一行:(2-1)*pageSize
			取一页信息显示
				for(int i=currentPageFirstRow;i<currentPageFirstRow+pageSize;i++)
				{
					if(i>=list.size())
					{
						break;
					}
					list.get(i);
				}
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;
	如何实现一个包?
		包声明
		包主体
	如何备份数据、恢复数据
		在命令行中运行
		导出:
			exp  t79/1234@db file=c:\a 
			imp t79/1234@db file=c:\a 
			
		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=
	根据一个列值去取表中重复的行
	
	
工作流
java实现国际化
		

⌨️ 快捷键说明

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