Mybatisの中の$
MybatisのMapper.xml文のparameterTypeはSQL文に2つの方法があります。
このような採値はSQL文をコンパイルしてから取るものです。
${}これは値を取ってからSQL文をコンパイルします。〓〓方式は大幅にsql注入を防止することができます。 $方式ではSql注入を防ぐことができません。 $方式は、一般的にデータベースオブジェクトに着信するために使用される。例えば、着信テーブル名。 。普通は〓を使うことができますのをやめてください。
activitiワークフローの例を挙げます。
#{} ${}
私たちがよく使っているのは、この方法はSQL注入を防ぐことができるからです。簡単に言ってください。このようなSQL文はあらかじめコンパイルされています。
select * from student where student_name = #{name}
事前に翻訳すると、パラメータマーカーに動的に解析されますか?
select * from student where student_name = ?
を使って動的に解析するとパラメータ文字列が入ってきます。
select * from student where student_name = 'lyrics'
まとめ:このような採値はSQL文をコンパイルしてから取るものです。
${}これは値を取ってからSQL文をコンパイルします。
select * from${prefix}ACT_HI_PROCINST where PROC_INST_ID_ =#{processInstanceId}
ここでMybatisの中の$と菗の区別と使い方についての文章を紹介します。これに関連して、mybatis${}と葑{}の違いと使い方については、以前の文章を検索してください。または次の関連記事を引き続きご覧ください。これからもよろしくお願いします。