mybatis中有以下几种模糊查询的方法,第一种用$符号直接替换
SELECT * from t where name like '%${name}%'
第二种方式使用#符号
select * from t
where name like "%" #{name} "%"
或者使用
name like "%"+#{name}+"%"
第三种方式使用MySQL函数CONCAT( )进行拼接使用
select * from t where name LIKE CONCAT('%',#{name},'%')
下面的查询也将导致全表扫描:
select id from t where name like 'abc%'
然后就是%符合可以前省略,只模糊查询以abc开头的数据信息
select id from t where name like '%abc'
%符合也可以后省略,只模糊查询以abc结尾的数据信息
若要提高效率,可以考虑全文检索。
而select id from t where name like 'abc%' 才可以用到索引
大于、小于、以及不等于的转义
小于等于 a<=b a <= b a <![CDATA[<= ]]>b
大于等于 a>=b a >= b a <![CDATA[>= ]]>b
不等于 a!=ba <![CDATA[ <> ]]>b a <![CDATA[!= ]]>b