小问题之ibatis在sql中的通配符

ibatisinAction中提到的sql通配符查询问题有三种解决方法

1,传入的参数中自带通配符如如直接传入"%keyword%"

2,使用代替语法就是用'$'代替'#''$'的功能基本和'#'一样但是星号'$'存在注入风险

3,使用sql表达式拼接

书上给的例子是

like '%'||#keyword#||'%'

这个在多数DB中没错

但是mysql不支持||作拼接操作(只做逻辑OR的左右)

因此需要使用函数

Concat('%',#keywords[]#,'%')

参见

http://book.51cto.com/art/200812/102426.htm

相关推荐