Ibatis/Mybatis模糊查詢

Ibatis/Mybatis模糊查詢

根據網絡內容整理mysql

Ibatis中

  1. 使用$代替#。此種方法就是去掉了類型檢查,使用字符串鏈接,不過可能會有sql注入風險

Sql代碼 select * from table1 where name like '%$name$%'sql

  1. 使用鏈接符。不過不一樣的數據庫中方式不一樣。數據庫

    mysql:  select  *  from table1 where name like concat('%', #name#, '%') 
    oracle:  select  *  from table1 where name like '%' || #name# || '%'  
    sql server:  select  *  from table1 where name like '%' + #name# + '%'

注意:在實際開發中,每每咱們須要將模糊查詢的空格去掉。爲了防止將去除空格放到業務層去,所以建議以下寫(oracle 中,其餘數據庫雷同):網絡

Sql代碼 select * from table1 where name like '%' || Trim(#name#) || '%'mybatis


MyBatis中

like "%"#{name}"%"   <!--推薦使用--> (psql中有問題)
like '%'||#{name}||'%'
like '%${name}%'
like CONCAT('%',#{name},'%')  
sqlserver: like '%'+#{name}+'%'
相關文章
相關標籤/搜索