La diferencia y precauciones entre $ y # en IBatis
<isNotEmpty prepend=" AND " property="TAPPING_MARKS">
TAPPING_MARK IN (#TAPPING_MARKS#)
</isNotEmpty>
# El valor del paquete ajustará automáticamente las comillas en la declaración SQL impresa como el valor de la cadena:
TAPPING_MARK IN ('AN0691D2')
El valor del paquete permanecerá como está en la declaración SQL impresa . Las comillas simples no se ajustarán automáticamente.
TAPPING_MARK IN (AN0691D2)
Este tipo de problema se producirá si no tiene cuidado
o si no ajusta manualmente el parámetro entre comillas en el fondo como una cadena, el resultado TAPPING_MARK IN (''AN0691D2'')
será un error.
DEFECT_CNAME = DEFECT_CNAME.replaceAll(" ", "").replaceAll(",", ",").replaceAll(",", "','");
DEFECT_CNAME = "'" + DEFECT_CNAME + "'";