如果在java中调用oracle的存储过程,需要使用哪些接口?
展开全部
接口?不用吧。
只是需要一个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
}
}
}
}
只是需要一个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
}
}
}
}
展开全部
//通过编写的连接类创建一个连接
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();
}
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();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不用吧
需要一个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
}
}
}
}
需要一个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
}
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
java.sql.PreparedStatement
String sql="{call 存储过程名(?)}";
其他用法和调用正常的SQL语句是一样的。
String sql="{call 存储过程名(?)}";
其他用法和调用正常的SQL语句是一样的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询