yesn 发表于 2016-11-26 09:32:40

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.iyunv.com/blog/2020138,这位朋友总结的更好:
  他里面提到的$符号的使用更简洁:
使用 ${...} 代替 #{...}
   SELECT * FROM tableName WHERE name LIKE '%${text}%';
---------------------------------------------------------------------------------
在Mybatis配置文件写SQL语句的时候对于一些比如“<”,">","<>","&"," ' "," " "是不能够识别的,并且会抛异常。一般可以如下改写: 
 
&lt;       <   
&gt;       >    
&lt;&gt;   <>  
&amp;      &   
&apos;      '  
&quot;      "  
页: [1]
查看完整版本: mybatis like 模糊匹配的方法