sql >> データベース >  >> RDS >> Oracle

カスタムオブジェクトを持つOracleストアドプロシージャからSpringjdbcを使用してListを返します

    これを行う簡単なJavaの方法は次のとおりです。

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    
    import oracle.jdbc.OracleCallableStatement;
    
    public class TestDatabaseArray
    {
      public static void main( final String[] args )
      {
        try{
          Class.forName( "oracle.jdbc.OracleDriver" );
    
          Connection con = DriverManager.getConnection(
              "jdbc:oracle:thin:@localhost:1521:orcl",
              "username",
              "password"
            );
    
          OracleCallableStatement st
            =(OracleCallableStatement) con.prepareCall("{ call get_names( :out_array ) }");
    
          st.registerOutParameter( 1, java.sql.Types.ARRAY, "NAMELIST" );
    
          st.execute();
    
          String[] names = (String[]) st.getARRAY( 1 ).getArray();
    
          for ( final String name : names )
            System.out.println( name );
        }
        catch ( ClassNotFoundException | SQLException ex )
        {
          System.out.println( ex.getMessage() );
          ex.printStackTrace();
        }
      }
    }
    



    1. MySQLのバージョンを確認する方法

    2. Oracleで数値をパーセンテージとしてフォーマットする

    3. SQLの2つの行の差を計算します

    4. SQLが文字列に対して長すぎます