Java调用Oracle函数的两种情况
下面为您介绍的Java调用Oracle函数方法,共两种情况,一种调用无入参的Oracle函数,一种则是调用有一个入参,一个输出参数以及一个字符串返回值的Oracle函数。
调用无入参的函数
函数定义
CREATEORREPLACEFunctionf_getstringReturnVarchar2Is
Begin
Return''Stringvalue'';
Endf_getstring;
调用函数的Java
CallableStatementcstmt=con.prepareCall("{?=callf_getstring}");
cstmt.registerOutParameter(1,Types.VARCHAR);
cstmt.execute();
StringstrValue=cstmt.getString(1);
System.out.println("Thereturnvalueis:"+strValue);
cstmt.close();
调用有一个入参,一个输出参数以及一个字符串返回值的函数
函数定义
CREATEORREPLACEFunctionf_Getinfo(IdInteger,AgeOutInteger)ReturnVarchar2Is
Begin
Age:=10;
Return''Theageis:''||Id;
Endf_Getinfo;
调用函数的Java代码
CallableStatementcstmt=con
.prepareCall("{?=callf_getinfo(?,?)}");
cstmt.registerOutParameter(1,Types.VARCHAR);
cstmt.setInt(2,11);
cstmt.registerOutParameter(3,Types.INTEGER);
cstmt.execute();
StringstrValue=cstmt.getString(1);
intage=cstmt.getInt(3);
System.out.println("Thereturnvalueis:"+strValue
+"andageis:"+age);
cstmt.close();