浅谈Java存储过程调用(转)
这里为大家谈谈Java存储过程调用,我们可以利用Java存储过程简化数据库操作, 利用Java存储过程沟通SQL、XML、Java、J2EE和Web服务。
创建需要的测试表:create table Test(tid varchar2(10),tname varchar2(10));
第一种情况:无返回值.
create or replace procedure test_a(param1 in varchar2,param2 in varchar2)as begin insert into test values(param1,param2); end;
Java调用代码:
package com.test; import java.sql.*; import java.io.*; import java.sql.*; public class TestProcA { public Test ProcA(){ } public static void main(String[]args) { ResultSet rs=null; Connection conn=null; CallableStatement proc=null; try{ Class.forName("oracle.jdbc.driver.OracleDriver"); conn=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:test","test","test"); proc=conn.prepareCall("{calltest_a(?,?)}"); proc.setString(1,"1001"); proc.setString(2,"TestA"); proc.execute(); }catch(Exception e){ e.printStackTrace(); }finally{ try{ if(null!=rs){ rs.close(); if(null!=proc){ proc.close(); } if(null!=conn){ conn.close(); } } }catch(Exception ex){ } } } }
第二种情况:有返回值的存储过程(返回值非列表).
存储过程为:
create or replace procedure test_b(param1 in varchar2,param2 out varchar2) as begin select tname into param2 from test where tid=param1; end;
Java调用代码:
package com.test; import java.sql.*; import java.io.*; import java.sql.*; public class TestProcB { public TestProcB(){ } public static void main(String[]args) { Connection conn=null; CallableStatement proc=null; try{ Class.forName("oracle.jdbc.driver.OracleDriver"); conn=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:test","test","test"); proc=conn.
相关文档:
到这里我们做一个完整的例子来说明线程产生的方式不同而生成的线程的区别:
package debug;
import java.io.*;
import java.lang.Thread;
class MyThread extends Thread{
public int x = 0;
public void run(){
System.out.println(++x);
}
}
class R implements Runnable{
private int x = ......
1. JDBC 驱动程序
1.1 DB2 JDBC Type 2 驱动程序
DB2 客户机
不建议使用
COM.ibm.db2.jdbc.app.DB2Driver 调用Class.forName() 方法。
1.2 IBM DB2 通用JDBC 和SQLJ 驱动程序
提供了Type 2 连接性和Type 4 连接性
可以将这个驱动程序用于app ......
关于绝对路径和相对路径:
绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:C:xyz est.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个URL绝对路径。相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在Servlet中," ......
1.1.字符
x 字符 x。例如a表示字符a
\\ 反斜线字符。在书写时要写为\\\\。(注意:因为java在第一次解析时把\\\\解析成正则表达式\\,在第二次解析时再解析为\,所以凡是不是1.1列举到的转义字符,包括1.1的\\,而又带有\的都要写两次)
\0n 带有八进制值 0的字符 ......
package dtm.tools;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Calendar;
import java.util.Dat ......