MyBatis Like

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/KimSoft/article/details/75032366

网上搜索的两个文章:

文章一

Mybatis like查询官方文档没有明确的例子可循,网上搜索了很多,都不正确。
经过尝试,给出三种可靠可用的写法:

select * from person where name  like "%"#{name}"%"
select * from person where name  like '%'||#{name}||'%'
select * from person where name  like '%${name}%'

文章二

三种写法对比后,第一种属于预编译SQL,后两种都不是,因此推荐使用第一种写法。

--all 用$不能防sql注入  
select * from user where name like '%${name}%'  

--mysql,oracle (db2的concat函数只支持2个参数)  
select * from user where name like concat('%',#{name},'%')   

--oracle,db2  
select * from user where name like '%'||#{name}||'%'  

--SQL Server  
select * from user where name like '%'+#{name}+'%'  

--据说这种是预编译,有空测下  
select * from user where name like "%"#{name}"%"  

总结

发现预编译的好象不行。

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试