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