MyBatisにおける#{}と${}の違いとSQLインジェクション対策

MyBatisでSQLマップを使用してクエリを実行する際、動的にパラメータを渡す必要があることがよくあります。例えば、以下のようなSQL文があります: SELECT * FROM users WHERE user_id = #{userId} AND user_name = '${userName}' 動的SQLの解析段階において、#{ }と${ }は異なる挙動を示します: #{ }はJDBCのプリペアドステートメント(prepared statement)のパラメー ...

6月1日 23:31 投稿