スマートフォン用の表示で見る

プレースホルダ

文字列の一部を他の文字列に置換する代替物。

例として、JDBCのPreparedStatementクラスでSQL文の中に記述するものを示す。

JDBCのPreparedStatementを使った場合、以下のSQL文の?の部分がプレースホルダに相当する。

従来の方式より文字列のシングルクォーテーションの扱いに起因するミスが少なくなり、SQLを高速化させることができるという利点がある。

Connection con = (DataSouce) .... // DB接続オブジェクト生成(省略)
String sql = "SELECT column FROM table WHERE name = ? and id = ?"; //SQL文生成
PreparedStatement ps = con.prepareStatement(sql); //PreparedStatementを生成

ps.setName(1,"ABC"); //1番目のプレースホルダ(?)に名前"ABC"を入れる
ps.setInt(2,10); //2番目のプレースホルダ(?)に数字10を入れる。
ResultSet rs = ps.executeQuery();
while ( rs.next() ) {
  //出力
}