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

 

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