阅读:4896回复:0
核格平台mybatis ${参数名}值存在特殊字符处理
在实际项目开发中,很多时候在sqlMap中会通过${}获取动态获取前台参数信息,从而达到动态sql的目的。但是当参数信息保护如$这些特殊字符的时候,就会出现下面这种情况。
图片:TIM图片20190703151045.png 图片:TIM图片20190703151136.png 应为参数存在特殊字符$,通过${]获取值时会被mybatis两次解析,导致like结果为空,如下图所示。 图片:TIM图片20190703151143.png 解决方案: 在项目中,用 :=的形式代替${}的形式可以防止特殊字符。对应like写法为 select * from table like :%参数名% 。 图片:TIM图片20190703151513.png 注意:${}会存在sql注入问题,在项目中谨慎使用,:=的形式不存在sql注入问题 |
|