mybatis like 模糊匹配的方法

like '%'||#{supplierID}||'%' //这个我管用了(oracle)

like CONCAT('%','${orderSearch.contractNumber}','%')//尝试无效(mysql有效)

like "%"#{name}"%"; //不一定可用 对于不同的版本(sqlserver有效)

 

 

Oracle数据库

SELECT * FROM tablename WHERE Columnname like ‘%’ || #keywords# || ‘%’

 

mysql数据库

SELECT * FROM tablename WHERE Columnname like CONCAT(‘%’, #keywords#, ‘%’)

 

sqlserver数据库

SELECT * FROM tablename WHERE Columnname like ‘%’ + #keywords# + ‘%’

 

前几天又看有这个网址了:http://sauzny.iteye.com/blog/2020138,这位朋友总结的更好:

他里面提到的$符号的使用更简洁:

使用 ${...} 代替 #{...}

   SELECT * FROM tableName WHERE name LIKE '%${text}%';

---------------------------------------------------------------------------------

在Mybatis配置文件写SQL语句的时候对于一些比如“<”,">","<>","&"," ' "," " "是不能够识别的,并且会抛异常。一般可以如下改写: 

 

&lt;       <   

&gt;       >    

&lt;&gt;   <>  

&amp;      &   

&apos;      '  

&quot;      "  

猜你喜欢

转载自yjy110.iteye.com/blog/1948129