ibaits中的模糊查询写法

收藏注意一下


ibatis in Action中提到的sql通配符查询问题有三种解决方法
1,传入的参数中自带通配符如  如直接传入"%keyword%"
2,使用代替语法  就是用'$'代替'#'  '$'的功能基本和'#'一样  但是星号'$'存在注入风险
3,使用sql表达式拼接

书上给的例子是
Xml代码 
like '%'||#keyword#||'%' 

这个在多数DB中没错 (ORACLE可以)
但是mysql不支持||作拼接操作(只做逻辑OR的左右)
因此需要使用函数

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

你可能感兴趣的:(ibaits中的模糊查询写法)