MyBatisのバインディング変数のメソッドは何か
MyBatisでは#{}記号を使用して変数を表します。SQL文で#{変数名}という形で変数を参照すると、動的に変数の値がSQL文に置換されます。
例えば、nameという変数がある場合、以下のようにSQL文の中で#{name}を使用することでその変数を参照できます。
<select id="getUserByName" parameterType="String" resultType="User">
SELECT * FROM users WHERE name = #{name}
</select>
SQL文を実行する際、MyBatisは自動で変数nameの値をSQL文に置き換え、動的なSQLバインディングを実現します。
#{} と $() は、使い方に若干の違いがあることに注意してください。 #{} は変数を SQL 文にパラメータとして渡し、SQL インジェクションのリスクを回避できます。 $() は変数を SQL 文に直接置換するため、SQL インジェクションのリスクがあるため、使用時には特に注意が必要です。