La diferencia entre los $ 1 y #
mybatis comunicado ParameterType SQL utilizada para pasar parámetros, cuando se hace referencia a estos parámetros en la instrucción SQL, hay dos maneras: #parameterName, $ ParameterName.
La diferencia: los parámetros de referencia Uso #parameterName de tiempo, mybatis será pasado como una cadena de parámetros, agregar automáticamente comillas dobles. las referencias a variables $ ParameterName, sin ningún tratamiento, directamente al valor de la cuenta de empalme sql.
# Es un marcador de posición, $ carácter de empalme.
2 ¿Cómo evitar la inyección de SQL
Uso # para evitar la inyección de SQL, $ ataques de inyección no se puede evitar.
# De los parámetros de referencia, en primer lugar mybatis de precompiled instrucción SQL, y luego el valor de referencia, puede prevenir con eficacia la inyección SQL, para mejorar la seguridad. $ Parámetros de referencia, instrucción SQL no precompilados.