浅谈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.
相关文档:
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......
到这里我们做一个完整的例子来说明线程产生的方式不同而生成的线程的区别:
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 = ......
最近项目中有个需求,要用Socket实现长连接,并且在通信过程中要互为server和client,即在一个连接中,既能够发送消息,(此时作为客户端),又要能够接收消息(此时作为server端),研究了下,实现方式如下:
一、发送消息时建立连接,构建通道。
Socket socket = new Socket();
SocketAddress endpoint = new In ......
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 ......
本贴摘自 http://bbs.langsin.com/redirect.php?tid=9936&goto=lastpost
想打印一个String 变量的地址,请问如何来写?
不是hashcode,就是内存地址,而且要打印出来。
也许比较简单,不过我没写出来。
----------------------------------------------------------------------------------------
使用Syst ......