タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

preparedStatementに関するwlbhiroのブックマーク (2)

  • Java: PreparedStatement で like を扱う時の注意点 - toyfish.blog

    JDBC には PreparedStatement クラスが用意されていて、SQL 文の一部をパラメータ化することができる。 パラメータ部分のエスケープ処理は JDBC ドライバが行ってくれるので、SQL インジェクション対策として最近では必須になりつつあるこのクラス。しかし、like 演算子を使う場合は、ちょっと注意が必要だ。 Lv 1 ネットで検索してみると、失敗例としてひっかかってくるのがこのパターン。 Statement stmt = conn.prepareStatement("select * from items where name like '?%'"); stmt.setString(1, "hatena"); ResultSet rs = stmt.executeQuery();name が "hatena" で始まる行を選択しようとしているわけだけど、これだと例外が

    Java: PreparedStatement で like を扱う時の注意点 - toyfish.blog
  • prepareStatementの使用 - データベース接続 - サーブレット入門

    「PreparedStatement」は「Statement」と同じくデータベースに対するSQL文を実行するために使われますが、「PreparedStatement」で使うSQLは事前にコンパイルが行われています。その為高速に実行することが出来るようになっています。 ただ全てを事前にコンパイルしてしまっては同じ問い合わせにしか利用出来ません。そこでSQLの中でも変更が行われる部分を後からパラメータとして指定することが出来るようになっています。 「PreparedStatement」は例えば大量のINSERTを実行するような場合など基的に同じSQL文で挿入する値の部分だけが違うようなSQLを実行する場合に便利なステートメントになっています。 PreparedStatementの作成 プリペアドステートメントは「java.sql.PreparedStatement」インターフェースのオブジェ

  • 1