文字列の一部を他の文字列に置換する代替物。
例として、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() ) { //出力 }