Java 调用Oracle 存储过程
2013-06-07 11:23
507 查看
调用带返回结果集存储过程:
调用带参存储过程:
/** * 调用带返回结果集存储过程 * * @param procName * @param param * @return * @throws SQLException * @throws NoFreeConnectionException */ public DataSource execuceProc(String procName, String[] param) throws SQLException, NoFreeConnectionException { Connection con = null; CallableStatement getResults = null; ResultSet rs = null; StringBuffer build = new StringBuffer(); build.append("{ call ").append(procName); build.append("("); if (param != null && param.length > 0) { for (int i = 0; i < param.length; i++) { build.append("'").append(param[i]).append("',"); } } build.append("?) }"); try { con = ConnectDBBean.getConnection(ReadWriteDBPool.readPool); getResults = con.prepareCall(build.toString(), ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); getResults.registerOutParameter(1, OracleTypes.CURSOR); getResults.execute(); rs = (ResultSet) getResults.getObject(1); this.rsToDataSource(rs); } finally { try { if (rs != null) { rs.close(); } if (getResults != null) { getResults.close(); } } catch (SQLException e) { log.error(e); } ConnectDBBean.closeConnection(ReadWriteDBPool.readPool, con); } return new DataSourceType(); }
调用带参存储过程:
/** * 调用带参存储过程 * * @param procName * @param param * @return * @throws SQLException * @throws NoFreeConnectionException */ @SuppressWarnings("unchecked") public static void execuceProc(String procName, List param) throws SQLException, NoFreeConnectionException { Connection con = null; CallableStatement getResults = null; StringBuffer build = new StringBuffer(); build.append("{ call ").append(procName); build.append("("); if (param != null && param.size() > 0) { for (int i = 0; i < param.size(); i++) { if (i > 0) build.append(","); build.append("'").append(param.get(i)).append("'"); } } build.append(") }"); try { con = ConnectDBBean.getConnection(ReadWriteDBPool.readPool); getResults = con.prepareCall(build.toString(), ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); getResults.execute(); } finally { try { if (getResults != null) { getResults.close(); } } catch (Exception e) { log.error(e); } ConnectDBBean.closeConnection(ReadWriteDBPool.readPool, con); } }
相关文章推荐
- java调用Oracle中的存储过程
- 游标、例外、存储过程、存储函数、java调用存储过程、触发器(Oracle之二)
- java调用ORACLE 存储过程返回值
- Java如何实现调用oracle带有返回值的存储过程
- oracle 存储过程编写和java程序调用oracle存储过程
- java调用ORACLE 存储过程返回值22
- Java 开发中之七:oracle中的子程序之在JAVA中如何调用存储过程,函数。
- java调用ORACLE 存储过程返回值33
- java 调用Oracle 存储过程(SpringBoot下的事务管理)
- 触发器,存储过程,oracle调用java方法
- java 调用 oracle 存储过程
- java 调用 oracle 存储过程
- java调用oracle含输入和输出数组的存储过程
- oracle实现存储过程的分页并用java代码调用存储过程
- java调用oracle中输入参数是数组类型的函数或者存储过程
- Oracle-存储过程-参数为数组-返回值为集合,java-调用存储过程
- java调用oracle 存储过程 以及游标使用
- oracle pl/sql之java中调用oracle有参存储过程
- java调用oracle返回结果集的存储过程
- java 调用oracle 存储过程