IBatis中 $与#的区别与注意事项

IBatis中 $与#的区别与注意事项

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

#包裹的值 在打印的SQL语句中会自动包裹上引号作为字符串的值:
TAPPING_MARK IN ('AN0691D2')
$包裹的值 在打印的SQL语句中会保持原样不自动包裹单引号
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