java在mysql中使用LIKE查询获取带撇号的记录
我有这样的MYSQL查询
String query="select DISTINCT sctName from snomedicd10map where sctName Like '" + search + "%" + "' LIMIT 5 ";
此查询用于自动完成,如果我在键入撇号(')时搜索“代码”、“女孩”等词,则会出现空点异常
我怎样才能克服这一点。当用户在文本字段中输入带有撇号(')的名称时,它应该获取结果
我已经从mysql数据库中获取了结果
我怎样才能做到这一点
# 1 楼答案
您应该使用
PreparedStatement
,这样它将为您处理转义。例如:或者(在代码中处理通配符):
JDBC驱动程序将自动处理转义(或以不需要转义的方式发送参数)
# 2 楼答案
通常,当你的名字被硬编码时,你可以重复并逃脱
如果使用清理字符串或使用参数化查询查看准备好的陈述
# 3 楼答案
这就是我在最初的评论中建议的,是你尝试过的吗