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");
}
}