如果在java中调用oracle的存储过程,需要使用哪些接口?
发布网友
发布时间:2022-04-22 09:49
我来回答
共4个回答
热心网友
时间:2022-04-07 22:47
接口?不用吧。
只是需要一个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
}
}
}
}
热心网友
时间:2022-04-08 00:05
//通过编写的连接类创建一个连接
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();
}
热心网友
时间:2022-04-08 01:39
不用吧
需要一个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
}
}
}
}
热心网友
时间:2022-04-08 03:31
java.sql.PreparedStatement
String sql="{call 存储过程名(?)}";
其他用法和调用正常的SQL语句是一样的。