数据库

JDBC调用Oracle存储过程返回结果集并获得输出参数实例

时间:2010-12-5 17:23:32  作者:应用开发   来源:应用开发  查看:  评论:0
内容摘要:复制packagexx.qq.app; importjava.sql.CallableStatement; importjava.sql.Connect

JDBC调用Oracle存储过程返回结果集并获得输出参数实例
复制package xx.qq.app;     import java.sql.CallableStatement;     import java.sql.Connection;     import java.sql.ResultSet;     import org.springframework.beans.factory.BeanFactory;     import org.springframework.context.ApplicationContext;     import org.springframework.context.support.ClassPathXmlApplicationContext;     import com.mchange.v2.c3p0.ComboPooledDataSource;     /**    * @author Jack Zhang Email:fish2-2@163.com    * @date 2011-08-22    */     public class AppTest {     public static void main(String[] args) throws Exception {     ApplicationContext context = new ClassPathXmlApplicationContext(     new String[] { "applicationContext.xml" });     BeanFactory factory = (BeanFactory) context;     ComboPooledDataSource dataSource = (ComboPooledDataSource) factory     .getBean("dataSource");     Connection con = dataSource.getConnection();     CallableStatement st =con.prepareCall("{call package_user.PERSON_QUERY(?调用,?)}");     //st.setString(1, "");      st.registerOutParameter(1, oracle.jdbc.OracleTypes.CURSOR);     st.registerOutParameter(2, oracle.jdbc.OracleTypes.INTEGER);     st.execute();     ResultSet rs = null;     rs = (ResultSet)st.getObject(1);     while(rs.next())     {     System.out.println(rs.getObject(1)+" "+rs.getObject(2));    }     int count =st.getInt(2);  //获取输出参数      System.err.println(count);     if (rs != null)     rs.close();     if (st != null)     st.close();     if (con != null)     con.close();     }     }    1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.
copyright © 2025 powered by 编程之道  滇ICP备2023006006号-34sitemap