锘??xml version="1.0" encoding="utf-8" standalone="yes"?>CREATE聽OR聽REPLACE聽PACKAGE聽pro_package_test_001聽AS
TYPE聽Test_CURSOR01聽IS聽REF聽CURSOR;
end聽pro_package_test_001;
CREATE聽OR聽REPLACE聽PACKAGE聽pro_package_test_002聽AS
TYPE聽Test_CURSOR02聽IS聽REF聽CURSOR;
end聽pro_package_test_002;
CREATE聽OR聽REPLACE聽PROCEDURE聽pro_query_001
(
--鍙傛暟IN琛ㄧず杈撳叆鍙傛暟錛孫UT琛ㄧず杈撳叆鍙傛暟錛岀被鍨嬪彲浠ヤ嬌鐢ㄤ換鎰廜racle涓殑鍚堟硶綾誨瀷銆?/span>
聽in_lx聽聽IN聽Varchar2,
聽p_cus_01聽OUT聽pro_package_test_001.Test_CURSOR01,
聽p_cus_02聽OUT聽pro_package_test_002.Test_CURSOR02聽聽聽聽聽
)
AS
--瀹氫箟鍙橀噺
聽vs_lx聽聽聽VARCHAR2(1);聽聽聽--鍙橀噺
聽vs_test1_id聽聽聽VARCHAR2(100);聽聽聽--鍙橀噺
聽vs_test1_mc聽聽聽VARCHAR2(100);聽聽聽--鍙橀噺
聽vs_test2_id聽聽聽VARCHAR2(100);聽聽聽--鍙橀噺
聽vs_test2_mc聽聽聽VARCHAR2(100);聽聽聽--鍙橀噺
聽--default_c聽SYS_REFCURSOR;聽聽聽聽
BEGIN
聽--鐢ㄨ緭鍏ュ弬鏁扮粰鍙橀噺璧嬪垵鍊箋?/span>
聽vs_lx:=聽in_lx;
聽--鎻掑叆test1琛ㄣ?/span>
聽OPEN聽p_cus_01聽FOR聽聽Select
聽聽聽聽a.id聽As聽id1,
聽聽聽聽a.mc聽As聽mc1,
聽聽聽聽b.id聽As聽id2,
聽聽聽聽b.mc聽As聽mc2聽
聽聽聽聽Into
聽聽聽聽vs_test1_id,
聽聽聽聽vs_test1_mc,
聽聽聽聽vs_test2_id,
聽聽聽聽vs_test2_mc聽
聽聽聽聽From聽test1聽a,test2聽b聽Where聽a.id聽=聽b.id聽And聽a.lx聽=聽vs_lx;
聽聽聽
聽聽聽聽--if聽p_cus_01%rowcount聽=聽0聽then聽
聽聽聽--聽聽聽聽p_cus_01:=default_c;聽
聽聽聽--聽end聽if;聽
聽聽
聽OPEN聽p_cus_02聽FOR聽聽Select
聽聽聽聽id聽As聽id1,
聽聽聽聽mc聽As聽mc1
聽聽聽聽Into
聽聽聽聽vs_test1_id,
聽聽聽聽vs_test1_mc
聽聽聽聽From聽test2聽聽Where聽lx聽=聽vs_lx;聽聽
聽聽聽--聽if聽p_cus_02%rowcount聽=聽0聽then聽
聽聽聽聽--聽聽聽p_cus_02:=default_c;聽
聽聽--聽聽end聽if;聽聽聽聽聽聽聽
聽--閿欒澶勭悊閮ㄥ垎銆侽THERS琛ㄧず闄や簡澹版槑澶栫殑浠繪剰閿欒銆係QLERRM鏄郴緇熷唴緗彉閲忎繚瀛樹簡褰撳墠閿欒鐨勮緇嗕俊鎭?/span>
Exception
聽聽聽WHEN聽OTHERS聽Then
聽聽聽ROLLBACK;
聽聽聽Return;
End聽pro_query_001;
聽聽聽聽聽public聽void聽ProcQuery(String聽procString,String聽[]聽params)聽throws聽Exception聽
{聽
聽聽聽聽聽聽聽聽聽Session聽session聽=聽null;
聽聽聽聽聽聽聽聽聽Connection聽conn聽=聽null;
聽聽聽聽聽聽聽聽聽ResultSet聽rs1聽=聽null;
聽聽聽聽聽聽聽聽聽ResultSet聽rs2聽=聽null;
聽聽聽聽聽聽聽聽聽聽聽CallableStatement聽proc聽=聽null;
聽聽聽聽聽聽聽聽聽聽聽procString聽=聽"{call聽pro_query_001(?,?,?)}";
聽聽聽聽聽聽聽聽聽聽聽params聽=聽new聽String聽[1];
聽聽聽聽聽聽聽聽聽聽params[0]="0";
聽聽聽聽聽聽聽聽聽try聽
{聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽session聽=聽getHibernateTemplate().getSessionFactory()
聽聽聽聽聽聽聽聽聽聽聽聽.openSession();
聽聽聽聽聽聽聽聽聽聽聽聽聽聽conn聽=聽session.connection();聽
聽聽聽聽聽聽聽聽聽聽聽聽聽proc聽=聽conn.prepareCall(procString);聽
聽聽聽聽聽聽聽聽聽聽聽聽聽proc.setString(1,聽params[0]);聽聽聽聽聽//浼犲叆鐨勫弬鏁?/span>
聽聽聽聽聽聽聽聽聽聽聽聽聽proc.registerOutParameter(2,oracle.jdbc.OracleTypes.CURSOR);
聽聽聽聽聽聽聽聽聽聽聽聽聽proc.registerOutParameter(3,oracle.jdbc.OracleTypes.CURSOR);聽
聽聽聽聽聽聽聽聽聽聽聽聽聽proc.execute();聽
聽聽聽聽聽聽聽聽聽聽聽聽聽rs1聽=聽(ResultSet)proc.getObject(2);//榪斿洖絎竴涓父鏍?/span>
聽聽聽聽聽聽聽聽聽聽聽聽聽rs2聽=聽(ResultSet)proc.getObject(3);//榪斿洖絎簩涓父鏍?/span>
聽聽聽聽聽聽聽聽聽聽聽聽while(rs1聽!=聽null聽&&聽rs1.next())聽
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽System.out.println(">>>"+rs1.getString("id1"));
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽System.out.println(">>>"+rs1.getString("mc1"));
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽System.out.println(">>>"+rs1.getString("id2"));
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽System.out.println(">>>"+rs1.getString("mc2"));
聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽while(rs2聽!=聽null聽&&聽rs2.next())聽
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽System.out.println(">>>"+rs1.getString("id1"));
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽System.out.println(">>>"+rs1.getString("mc1"));
聽聽聽聽聽聽聽聽聽聽}聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽}聽catch聽(SQLException聽e)聽
{聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽e.printStackTrace();聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽throw聽new聽Exception("璋冪敤瀛樺偍榪囩▼鐨勬椂鍊欏彂鐢熼敊璇痆sql聽=聽"聽+聽procString聽+聽"]",聽e);聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽}聽聽finally聽
{
聽聽聽聽聽聽聽聽聽聽聽聽聽if聽(proc聽!=聽null)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽proc.close();
聽聽聽聽聽聽聽聽聽聽聽聽聽if聽(rs1聽!=聽null)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽rs1.close();
聽聽聽聽聽聽聽聽聽聽聽聽聽if聽(rs2聽!=聽null)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽rs2.close();
聽聽聽聽聽聽聽聽聽聽聽聽聽if聽(conn聽!=聽null)
聽聽聽聽聽聽聽聽聽聽聽聽聽conn.close();
聽聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽}
]]>
try
聽
{聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽RandomAccessFile聽out
=
new
聽RandomAccessFile(file,
"
rw
"
);聽聽聽聽聽聽聽聽聽聽聽聽聽
out.seek(out.length());
//
灝嗘寚閽堢Щ鍔ㄥ埌鏂囦歡鏈熬
out.writeBytes(
"
\r\n
"
);
mess聽
=
聽
"
鍐欏叆鏂囦歡
"
;
byte
聽buffer[]聽
=
聽
new
聽
byte
[
1024
];
buffer聽
=
聽mess.getBytes();
out.write(buffer);聽
out.close();
//
鍏抽棴鏂囦歡嫻伮?/span>
}
聽
catch
聽(IOException聽e)聽
{
聽聽e.printStackTrace();
}
]]>
import java.awt.*;
import java.io.*;
/**
* @author Administrator
*
* Class Function:
*/
public class copyDirectory {
public static void main(String args[]) throws IOException {
String url1="D:/download";
String url2="f:/download";
(new File(url2)).mkdirs();
File[] file=(new File(url1)).listFiles();
for(int i=0;i<file.length;i++){
if(file[i].isFile()){
聽FileInputStream input=new FileInputStream(file[i]);
聽FileOutputStream output=new FileOutputStream(url2+"/"+file[i].getName());
聽byte[] b=new byte[1024*5];
聽 int len;
聽 while((len=input.read(b))!=-1){
聽 output.write(b,0,len);
聽 }
聽 output.flush();
聽 output.close();
聽 input.close();
聽 }
if(file[i].isDirectory()){
聽copyDirectiory(url2+"/"+file[i].getName(),url1+"/"+file[i].getName());
聽}
}
}
public static void copyDirectiory(String file1,String file2) throws IOException{
(new File(file1)).mkdirs();
File[] file=(new File(file2)).listFiles();
for(int i=0;i<file.length;i++){
聽if(file[i].isFile()){
聽FileInputStream input=new FileInputStream(file[i]);
聽FileOutputStream output=new FileOutputStream(file1+"/"+file[i].getName());
聽byte[] b=new byte[1024*5];
聽聽 int len;
聽聽 while((len=input.read(b))!=-1){
聽聽聽 output.write(b,0,len);
聽聽聽 }
聽聽聽 output.flush();
聽聽聽聽聽聽 output.close();
聽聽聽 input.close();
聽聽 }
聽if(file[i].isDirectory()){
聽 copyDirectiory(file1+"/"+file[i].getName(),file2+"/"+file[i].getName());
}
}
}
}