用JDBC操作Oracle
和SQLServer一样,都是 加载驱动,建立连接,执行SQL,获得并处理结果,关闭。
其中Oracle驱动为:oracle.jdbc.driver.OracleDriver
URL: jdbc:oracle:thin:@IPAdress:1521:orcl
执行SQL的时候有一点点不一样,就是在执行ORacle过程的时候
其核心代码:
/*
*过程中不带返回值
*/
Connection conn = ...; //获得连接
CallableStatement cs = null;
String spName = "{call sp_add_emp(?,?,?,?)}"; //要执行的过程
cs = conn.prepareCall(spName);
cs.setString(1,"values");
...
cs.executeUpdate();
/*
*过程中返回一个值
*/
Connection conn = ...; //获得连接
CallableStatement cs = null;
String spName = "{call sp_add_emp(?,?,?,?)}"; //要执行的过程
cs = conn.prepareCall(spName);
cs.setString(1,"values");
...
cs.registerOutParameter(4,java.sql.Types.INTEGER);
cs.executeUpdate();
int emp = cs.getInt(4);
/*
*过程中返回值一个数据集
*/
Connection conn = ...; //获得连接
CallableStatement cs = null;
String spName = "{call sp_add_emp(?,?,?,?)}"; //要执行的过程
cs = conn.prepareCall(spName);
cs.setString(1,"values");
...
cs.registerOutParameter(4,oracle.jdbc.OracleType.CURSOR);
cs.executeUpdate();
ResultSet rs = (ResultSet)cs.getObject(4);
...
//然后对rs操作
和SQLServer一样,都是 加载驱动,建立连接,执行SQL,获得并处理结果,关闭。
其中Oracle驱动为:oracle.jdbc.driver.OracleDriver
URL: jdbc:oracle:thin:@IPAdress:1521:orcl
执行SQL的时候有一点点不一样,就是在执行ORacle过程的时候
其核心代码:
/*
*过程中不带返回值
*/
Connection conn = ...; //获得连接
CallableStatement cs = null;
String spName = "{call sp_add_emp(?,?,?,?)}"; //要执行的过程
cs = conn.prepareCall(spName);
cs.setString(1,"values");
...
cs.executeUpdate();
/*
*过程中返回一个值
*/
Connection conn = ...; //获得连接
CallableStatement cs = null;
String spName = "{call sp_add_emp(?,?,?,?)}"; //要执行的过程
cs = conn.prepareCall(spName);
cs.setString(1,"values");
...
cs.registerOutParameter(4,java.sql.Types.INTEGER);
cs.executeUpdate();
int emp = cs.getInt(4);
/*
*过程中返回值一个数据集
*/
Connection conn = ...; //获得连接
CallableStatement cs = null;
String spName = "{call sp_add_emp(?,?,?,?)}"; //要执行的过程
cs = conn.prepareCall(spName);
cs.setString(1,"values");
...
cs.registerOutParameter(4,oracle.jdbc.OracleType.CURSOR);
cs.executeUpdate();
ResultSet rs = (ResultSet)cs.getObject(4);
...
//然后对rs操作