■ Java JDBC パラメータ設定問題
・PreparedStatementに対して、一つずつパラメータを設定していく
・この時に順番に間違いなく、正しく値を指定しなければならない
・話は簡単だが、ここにバグが入り込む余地があり、また実務では、50個くらいのパラメータがあるのはざらなので、DAOを作成するのが非常に面倒である
・テーブルに変更があった時、当該箇所を注意深く書き直す必要がある
・またJavaでは、名前付きパラメータがないので、この状況に輪をかけている
・いくつかの改善案が考えられるので、それぞれに対応したライブラリを用意して、状況によって適切なものを使用することが望ましい
・名前付きパラメータ
・名前付きパラメータのSQLを解析して、順番とパラメータ名の対応Mapを作成する
・パラメータ値は、EntityやMapで与える
・Listに格納されたパラメータ値をパラメータに自動的に設定する
・この場合のSQLは順番パラメータで記述したもの
・注、名前→順番の対応を別途に用意すれば、名前付きパラメータSQLでも対応できるが、そもそもの目的は「パラメータ設定を簡単にしたい」ということなので、これはパラノイア
・画面から入力された検索条件などでは、状況によっては条件の一部が入力されず、SQLが動的に変化する
・入力項目にそれぞれ名称をつけて、名称→値のMapを作成し、名前付きパラメータのSQLに値を設定する
・動的SQLの生成問題は別途論じている
・結論としては、名前付きパラメータの処理ライブラリの実現がポイント
//---------------------------------------------------
//・目次 - JDBC
//・目次 - Java入門
//・目次 - ビジネスパーソンの常識と非常識
//・目次 - 論理・発想・思考についての考察と鍛え方
//・目次 - 単なる雑談
//---------------------------------------------------