IBatisの$と#の違いと注意事項

IBatisの$と#の違いと注意事項

<isNotEmpty prepend=" AND " property="TAPPING_MARKS">
			TAPPING_MARK IN (#TAPPING_MARKS#)
		</isNotEmpty>

#パッケージの値は、印刷されたSQLステートメントの引用符を文字列の値として自動的に折り返します。パッケージの値は、印刷されたSQLステートメントの値の
TAPPING_MARK IN ('AN0691D2')
ままになります。単一引用符は自動的に折り返されません。
TAPPING_MARK IN (AN0691D2)
この種の問題は、注意しない場合
、またはバックグラウンドでパラメーターを文字列として手動で引用符で囲むTAPPING_MARK IN (''AN0691D2'')場合に発生し、エラーになります。

DEFECT_CNAME = DEFECT_CNAME.replaceAll(" ", "").replaceAll(",", ",").replaceAll(",", "','");
			DEFECT_CNAME = "'" + DEFECT_CNAME + "'"; 



おすすめ

転載: blog.csdn.net/Beatingworldline/article/details/112981413