package org.oklab; import java.sql.*; import oracle.jdbc.*; import oracle.sql.*; /** * エスケープシーケンスを回避するサンプルクラス。 * PreparedStatementクラスを利用することで * エスケープシーケンスを処理する。 * * 1.コネクションの取得 * 2.PreparedStatementの実行 * 3.データの取得 * @author satoshiokita * @version 1.0 */ public class EscapeTest { public static void main(String[] args) { EscapeTest et = new EscapeTest(); et.process(); } /** * データベース処理を行う */ private void process() { Connection conn = null; try { // 1. コネクションの取得 DriverManager.registerDriver(new oracle.jdbc.OracleDriver()); conn = DriverManager.getConnection( "jdbc:oracle:thin:@host:1521:instance", "username", "password"); // 2. PreparedStatementの実行 PreparedStatement stmt = conn.prepareStatement("select name from test where name like ? "); stmt.setString(1, "AT&JM"); ResultSet rs = stmt.executeQuery(); // 3. データ取得 while (rs.next()) { System.out.println(rs.getString(1)); } rs.close(); stmt.close(); } catch (SQLException e) { e.printStackTrace(); } finally { if(conn != null) { try { conn.close(); conn = null; }catch(SQLException e) { e.printStackTrace(); } } } System.out.println("process end"); } }