MyBatisにおけるパラメータ処理の詳細解析:ParameterHandlerの実装
ParameterHandlerインターフェースはMyBatisにおけるパラメータ処理の核となるコンポーネントであり、org.apache.ibatis.executor.parameterパッケージに位置しています。以下にそのソースコードを示します:
1 public interface ParameterHandler {
2
3 Object getParameterObject(); // パラメータオブジェクトの取得
4
5 void setParameters(PreparedStat ...
6月27日 19:59 投稿
MyBatisにおける#{}と${}の違いとSQLインジェクション対策
MyBatisでSQLマップを使用してクエリを実行する際、動的にパラメータを渡す必要があることがよくあります。例えば、以下のようなSQL文があります:
SELECT * FROM users WHERE user_id = #{userId} AND user_name = '${userName}'
動的SQLの解析段階において、#{ }と${ }は異なる挙動を示します:
#{ }はJDBCのプリペアドステートメント(prepared statement)のパラメー ...
6月1日 23:31 投稿