javamysql处理带单引号()、反斜杠()等问题
项⽬中遇到内容是⽂本,可以随意输⼊各种字符,⽐如单引号(')、反斜杠(\)等
⼀、单引号问题(')
replaceall()如果不处理,在查询时会出现如下的情况:
select * from table where a = 'let's go'
这样的sql会导致语句错误
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's go
对此,有两种处理⽅:
1.把需要的⽂本内容replace就可以了
a = a.replaceAll("'", "''");
或者使⽤commons-lang-2.6.jar中的StringEscapeUtils.escapeSql⽅法,使⽤如下:
a = StringEscapeUtils.escapeSql(a);
2.把需要的⽂本内容中出现的单引号(')进⾏转义
a = a.replaceAll("'","\\'");
⼆、反斜杠问题(\)
因为知道他代表转义,所以将转义符"\"增加为"\\",代码如下:假如字符串str含有反斜杠,则placeAll("\\\\", "\\\\\\\\")。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。