java调用oracle存储过程
一:无返回值的存储过程
存储过程为:
create or replace procedure adddept(deptno number,dname varchar2,loc varchar2)
as
begin
insert into dept values(deptno,dname,loc);
end;
然后呢,在java里调用时就用下面的代码:
public class TestProcedure {
Connection conn=null ;
CallableStatement cstmt=null ;
PreparedStatement pstmt=null ;
String url="jdbc:oracle:thin:@localhost:1521:mydb";
String driver="oracle.jdbc.driver.OracleDriver";
String name="";
public TestProcedure() {
try {
Class.forName(driver);
conn=DriverManager.getConnection(url,"scott","tiger");
cstmt=conn.prepareCall("{call adddept(?,?,?)}");
cstmt.setInt(1,13);
cstmt.setString(2,"间谍部2");
cstmt.setString(3,"ningbo2");
cstmt.executeUpdate();
System.out.println("success");
}
catch (Exception e){e.printStackTrace();}
finally{
cstmt.close();
conn.close();
}
}
}
dept表为oracle数据库方案scott中的一个表
二:有返回值的存储过程(非列表)
存储过程为:
CREATE OR REPLACE PROCEDURE TESTB(PARA1 IN VARCHAR2,PARA2 OUT VARCHAR2) AS
BEGIN
SELECT INTO PARA2 from TESTTB WHERE I_ID= PARA1;
END TESTB;
在java里调用时就用下面的代码:
package com.hyq.src;
public class TestProcedureTWO {
public TestProcedureTWO() {
}
public static void main(String[] args ){
String driver = "oracle.jdbc.driver.OracleDriver";
String strUrl = "jdbc:oracle:thin:@127.0.0.1:1521:hyq";
Statement stmt = null;
ResultSet rs = null;
Connection conn = null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(strUrl, " hyq "
相关文档:
原来连接ORACLE总是要装ORACLE客户端,挺麻烦的,一方面要带ORACLE得盘,另一方面,装这么大得东西也让人很不爽。Oracle从10g开始新出了一个Instant Client,是针对WINDOWS平台的,不用安装客户端就可以连接Oracle数据库。Instant Client是一个较为轻量级的客户包,实际是一个zip文件,40多M,不需要安装,直接解压缩,可以 ......
在目前的关于java自学的讨论中,最经常看到的就是钻研《Thinking in java》(TIJ)的经验,但是,尽管使用TIJ作为教学材料的教学行为也很多,我却尚未发现有从教师关于如何将TIJ用于教学的论述。为此,我权作抛砖引玉。
首先,为什么要学习java?按照Eckel的话说, ......
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.SortedSet;
import java.util.TreeSet;
import java.util.logging.Logger; ......
public static void main(String args[]){
Date calr1=new Date(2010, 3,1);
Date calr2=new Date(2010,3,31);
Long n=calr2.getTime()-calr1.getTime();
int a=(int)(n/ ......