少年阿賓

          那些青春的歲月

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks
          -- Create table
          create table ABIN1
          (
            ID1         NUMBER,
            NAME1       NVARCHAR2(100),
            CREATETIME1 DATE default sysdate
          )

          create or replace procedure getList(myname varchar2,mylist out sys_refcursor)
          is
          v_sql varchar2(4000);
          begin
                v_sql:='select * from abin1 where name1=:1';
                 open myList for v_sql using myname;
          end;




          package com.abin.lee.db.oracle;

          import java.sql.Connection;
          import java.sql.DriverManager;
          import java.sql.SQLException;

          public class OracleConnection {
           private static final String USER="abin";
           private static final String PWD="abin";
           private static final String URL="jdbc:oracle:thin:@localhost:1521:XE";
           private static final String DRIVER="oracle.jdbc.driver.OracleDriver";
           private static ThreadLocal<Connection> threadLocal=new ThreadLocal<Connection>(){
            protected Connection initialValue(){
             Connection conn=null;
             try {
              Class.forName(DRIVER);
              if(null==conn||conn.isClosed()){
               conn=DriverManager.getConnection(URL, USER, PWD);
              }
             } catch (Exception e) {
              e.printStackTrace();
             }
             return conn;
            }
            
           };
           
           
           public static Connection getConnection() throws ClassNotFoundException, SQLException{
            Connection conn=null;
            if(threadLocal.get()==null){
             Class.forName(DRIVER);
             conn=DriverManager.getConnection(URL, USER, PWD);
             threadLocal.set(conn);
            }else {
             return threadLocal.get();
            }
            return conn;
           }

          }






          package com.abin.lee.db.oracle;

          import java.sql.CallableStatement;
          import java.sql.Connection;
          import java.sql.ResultSet;

          import junit.framework.TestCase;
          import oracle.jdbc.OracleTypes;

          public class GetProcedureResultSet extends TestCase{
           public void test(){
            Connection conn=null;
            CallableStatement cs=null;
            ResultSet rs=null;
            try {
             conn=OracleConnection.getConnection();
             cs=conn.prepareCall("{call getList(?,?)}");
             cs.setString(1, "a1");
             cs.registerOutParameter(2, OracleTypes.CURSOR);
             cs.execute();
             rs=(ResultSet)cs.getObject(2);
             while(rs.next()&&rs!=null){
              System.out.println("ID="+rs.getInt("id1"));
              System.out.println("NAME="+rs.getString("name1"));
              System.out.println("NAME="+rs.getString("createtime1"));
             }
             
            } catch (Exception e) {
             e.printStackTrace();
            }
            
            
           }
           /**
            * create or replace procedure getList(myname varchar2,mylist out sys_refcursor)
            is
            v_sql varchar2(4000);
            begin
                  v_sql:='select * from abin1 where name1=:1';
                   open myList for v_sql using myname;
            end;
            */
          }


          posted on 2012-09-14 12:42 abin 閱讀(1565) 評論(0)  編輯  收藏 所屬分類: oracle
          主站蜘蛛池模板: 宜兰县| 昌图县| 且末县| 西昌市| 阳城县| 海阳市| 马公市| 什邡市| 沁源县| 松江区| 郯城县| 阳朔县| 剑阁县| 孟津县| 衡东县| 连江县| 承德市| 墨玉县| 双柏县| 灵山县| 砀山县| 林西县| 刚察县| 临朐县| 大埔区| 偃师市| 临洮县| 大英县| 汪清县| 玉树县| 五原县| 余庆县| 安宁市| 云南省| 德兴市| 兴隆县| 达日县| 中牟县| 广宁县| 花莲市| 牙克石市|