Java調用存儲過程的方法是通過調用Connection的實例方法prepareCall,prepareCall方法返回CallableStatement對象用於填充存儲過程的參數。prepareCall方法形參是調用存儲過程的sql語句,此參數的語法格式如下:
{callstoredProcereName(parameter-list)}
其中,storedProcereName是存儲過程名稱,parameter-list是存儲過程參數列表。
例如,存儲過程名為usp_test,有兩個輸入參數a,b。則調用代碼看起來如下所示:
=connection.prepareCall("{callusp_test(?,?)}");
callableStatement.setObject("a","value-1");
callableStatement.setObject("b","value-2");
callableStatement.execute();
Ⅱ java 本地數據存儲問題
這好辦啊
寫一個類實現序列化(序列化可以在IO流中傳輸 即implements Serializable )
加上map屬性用來存你要的數據
寫一些獲得map中的數據方法
我寫一個存取數據的方法:
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.ObjectInputStream;
importjava.io.ObjectOutputStream;
importjava.io.Serializable;
publicclassTestAa{
publicstaticvoidmain(String[]args)throwsException{
//存數據:
TestObjecta=newTestObject();
a.setAa("隨便存一個值");
Filefile=newFile("D:\data.dat");
ObjectOutputStreamout=newObjectOutputStream(newFileOutputStream(file));
out.writeObject(a);
//取數據:
ObjectInputStreamin=newObjectInputStream(newFileInputStream(file));
TestObjectb=(TestObject)in.readObject();
System.out.println(b.getAa());
}
}
{
privateStringaa;
publicStringgetAa(){
returnaa;
}
publicvoidsetAa(Stringaa){
this.aa=aa;
}
}