ORACLE SQL リファレンス(逆引き)

ORACLE SQL リファレンス

Web oracle.se-free.com
SELECTして結果を取得する(PrepareStatement〜ResultSet)
スポンサード リンク

PreparedStatementは、事前にSQLをコンパイルするので、繰り返しSQLを発行する場合に、Statementと比較すると性能が向上します。

●DBのレコードをSELECTするには、

  (1) PreparedStatementオブジェクトをSQL文を指定して取得する。

  (2) PreparedStatementオブジェクトのsetXXXメソッドで、SQL文の「?」に指定するバインド変数を番号で
     指定する。
      XXXの部分は、SQLカラムのデータ型とjavaのデータ型に対応したメソッドになります。
      番号は、先頭から1番から順番に指定します。

  (3) SQLを実行して、ResultSetオブジェクトを取得する。

  (4) ResultSetオブジェクトを使ってカーソル操作で、各レコードを参照します。
      next()メソッドで、次のレコードへと進んで行き、最終行まで到達するとfalseが返却されます。

  (5) 取得した各列の値を取得するには、ResultSetオブジェクトのgetXXXメソッドを使用します。
      XXXの部分は、SQLカラムのデータ型とjavaのデータ型に対応したメソッドになります。

  (6) 処理が終了したら、ResultSetとPreparedStatementをクローズします。

例1) 表「emp」をselectし、取得した全レコードの全カラムを表示する。
import java.sql.*;


public class Select2 {

  public static void main(String[] args) throws SQLException {


    DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
    Connection con = DriverManager.getConnection(
                       "jdbc:oracle:thin:@127.0.0.1:1521:ORCL","test","test");

    // PrepareStatement取得
    PreparedStatement stm = con.prepareStatement(
                       "select emp_id,name,salary from emp where emp_id = ?");
    // 列「emp_id」のバインド変数を設定
    stm.setString(1,"E03");
    // SQLの実行
    ResultSet rs = stm.executeQuery();
    // カーソル操作
    while( rs.next() ) {
      // 列「emp_id」表示
      System.out.println(rs.getString("emp_id"));
      // 列「name」表示
      System.out.println(rs.getString("name"));
      // 列「salary」表示
      System.out.println(rs.getInt("salary"));
    }
    // ResultSet クローズ
    rs.close();
    // PrepareStatement クローズ
    stm.close();

    con.close();

  }
}

スポンサード リンク


バインド変数を使用してSELECTする(PrepareStatement〜ResultSet)
バインド変数を使用してINSERT/UPDATE/DELETEする(PrepareStatement)
ORACLE独自のバッチ更新する
JDBC2.0標準のバッチ更新する

JDBC へ
忘れっぽいエンジニアのオラクルSQLリファレンス TOPへ