如果在java中调用oracle的存储过程,需要使用哪些接口?

 我来答
yyyleaves
2011-05-13 · TA获得超过365个赞
知道小有建树答主
回答量:287
采纳率:0%
帮助的人:118万
展开全部
接口?不用吧。
只是需要一个j调jdbc的jar包,我一般用ojdbc6.jar
至于过程如何我给你个调用本地oracle的实例代码吧
package odbc;

import java.sql.*;
public class TestOracle {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Connection ct=null;
Statement sm=null;
ResultSet rs=null;
try{
String driver="oracle.jdbc.driver.OracleDriver";
Class.forName(driver);

String url="jdbc:oracle:thin:@localhost:1521:数据库名";
String sql="select * from emp";
ct=DriverManager.getConnection(url,"scott","tiger");
sm=ct.createStatement();
rs=sm.executeQuery(sql);
//sm.executeUpdate(sql);
while(rs.next()){
System.out.println(rs.getString(1));
}

} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
try {
rs.close();
sm.close();
ct.close();
} catch (Exception e2) {
// TODO: handle exception
}
}

}

}
1997排长
高粉答主

2016-01-10 · 说的都是干货,快来关注
知道大有可为答主
回答量:1.1万
采纳率:0%
帮助的人:774万
展开全部
//通过编写的连接类创建一个连接
dbconn db = new dbconn();
Connection con1 = db.conn;
String callSQL1 = new String();
ResultSet rs1 = null;
//创建一个CallableStatement变量st1来调用存储过程信息
CallableStatement st1 = null;
try {
st1 = con1.prepareCall("{ call p(?,?,?,?) }");

st1.setString(1, "参数1");
st1.setString(2, "参数2");
st1.setString(3, "参数3");
st1.registerOutParameter(4,Types.INTEGER); //此处4 代表第一个"?" 则表示存储过程返回的值 这里要注意Types的类型,当需要有返回值时

st1.execute();
System.out.println(st1.getInt(4));//输出存储过程的返回值,当有返回值时
} catch (Exception error) {
try {
con1.rollback(); //操作不成功则回退
} catch (Exception ex9) {
ex9.printStackTrace();
}
out.print("系统出错" + error.getMessage());
} finally {
try {
if (st1 != null) {
st1.close();
}
} catch (Exception error) {

}
db.disconnect();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
viphe0123
2015-12-27 · 超过11用户采纳过TA的回答
知道答主
回答量:25
采纳率:0%
帮助的人:11.7万
展开全部
不用吧
需要一个jdbc的jar包,我一般用ojdbc6.jar
至于过程如何我给你个调用本地oracle的实例代码吧
package odbc;

import java.sql.*;
public class TestOracle {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Connection ct=null;
Statement sm=null;
ResultSet rs=null;
try{
String driver="oracle.jdbc.driver.OracleDriver";
Class.forName(driver);

String url="jdbc:oracle:thin:@localhost:1521:数据库名";
String sql="select * from emp";
ct=DriverManager.getConnection(url,"scott","tiger");
sm=ct.createStatement();
rs=sm.executeQuery(sql);
//sm.executeUpdate(sql);
while(rs.next()){
System.out.println(rs.getString(1));
}

} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
try {
rs.close();
sm.close();
ct.close();
} catch (Exception e2) {
// TODO: handle exception
}
}

}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友561a016
2011-05-13 · 超过24用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:50.3万
展开全部
java.sql.PreparedStatement

String sql="{call 存储过程名(?)}";

其他用法和调用正常的SQL语句是一样的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式