Java8 Oracleに接続してselectするサンプル
環境
Oracle 21c
Windows 10 Home
Java SE 1.8
書式
1.Oracleに接続する情報
final String URL = "jdbc:oracle:thin:@localhost:1521:DB名"; final String USER = "ユーザー名"; final String PASS = "パスワード";
2.プレースホルダの定義
select * from テーブル名 where カラム名 =?
クエスチョンマーク(?)は、プレースホルダ(バインド変数)です。パラメータで値を設定します。
3.try-with-resources構文でOracleに接続する
try (Connection conn = DriverManager.getConnection(URL,USER,PASS); PreparedStatement ps = conn.prepareStatement(SQL構文)){処理コード}
tryの後に続くかっこ()はリソースを自動でクローズします。try-with-resources構文と呼ばれます。
4. DriverManager.getConnection(URL,USER,PASS)
DriverManagerクラスのgetConnectionメソッドで接続しています。変数の型はConnectionインターフェースです。
使用例
package com.arkgame.study; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class OracleConTest { // 接続文字列URL final static String URL = "jdbc:oracle:thin:@172.17.2.180:1521:arkdb"; // 接続文字列ユーザー名 final static String USER = "arkuser"; // パスワード final static String PASS = "arkuser"; public static void main(String[] args) { // プレースホルダ final String SQL = "select * from empss where empno =? "; // try-with-resources構文 try (Connection conn = DriverManager.getConnection(URL, USER, PASS); PreparedStatement ps = conn.prepareStatement(SQL)) { // パラメータのセット ps.setString(1, "1001"); // SQL検索構文を実行 try (ResultSet rs = ps.executeQuery()) { while (rs.next()) { System.out.println( rs.getInt("empno") + " " + rs.getString("empname") + " " + rs.getString("gender_f")); } } } catch (SQLException e) {// 例外をキャッチする e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally { System.out.println("処理が完了しました"); } } }
実行結果
1001 tokyo 1
処理が完了しました