mybatis 模糊查詢 的幾種實現方式

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 &lt;= b      a <![CDATA[<= ]]>b

大於等於    a>=b                 a &gt;= b      a <![CDATA[>= ]]>b

不等於        a!=ba <![CDATA[ <> ]]>b      a <![CDATA[!= ]]>b

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章