求助!!!mybatis like 特殊字符问题。

丶小HI 2017-04-01 10:20:00
小弟刚接触Mybatis,项目中使用存储过程查询数据,查询条件中带有特殊字符,不知该如何使用占位符?

具体描述:
数据库中调用时正常执行,该语句为:Execute QryCust 'Project Like ''''%工业项目%'''''

在JAVA后台中拼接好字符串 qryStr = " Project Like ''''%工业项目%'''' ";

Mybatis中使用占位符:
Execute QryCust #{qryStr}

Mybatis打印参数值:
==> Parameters: Project Like ''''%工业项目%''''(String)

报错:
### Error querying database. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 列名 '工业项目' 无效。


说明:
1、因为存储过程的参数可能是精确查找,可能是模糊查找,可能长度不限,所以没有使用传统的:name like '%'+#{name}+'%'
2、尝试了按照该方式去拼接字符串,还是报错:索引超出范围
3、不使用占位符,直接将字符串放入Mybatis查询中,结果正常。(但是因为是动态的,所以无法写死)

望有大神能帮忙解答或给出别的解决思路,万分感谢!
...全文
390 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
丶小HI 2017-04-01
  • 打赏
  • 举报
回复
忘了说,数据库用的SQL Server。纠结了2天了,望大神解答

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧