MyBatis 模糊查詢LIKE的三種方式

2021-08-14 17:10:16 字數 1381 閱讀 4011

模糊查詢也是資料庫sql中使用頻率很高的sql語句,使用mybatis來進行更加靈活的模糊查詢。

public

void selectbykeyword(string keyword)

在dao層指定各個引數的別名

list

selectbykeyword(@param("id") string id,@param("rolename") string rolename,@param("roletype") string roletype);

select

*from

t_role

where

role_name like

#or id like

#or role_type like

#select>

執行出來的sql語句:

select

*from

t_role

where

role_name like

'%why%'

or id like

'%why%'

or role_type like

'%why%';

mysql的 concat()函式用於將多個字串連線成乙個字串,是最重要的mysql函式之一。

concat(str1,str2,...)
list

selectbykeyword(@param("keyword") string keyword);

select

*from

t_role

where

role_name like concat('%',#,'%')

or id like concat('%',#,'%')

or role_type like concat('%',#,'%')

select>

list

selectbykeyword(@param("keyword") string keyword);

"pattern" value="'%' + keyword + '%'" />

select

*from

t_role

where

role_name like#or

id like#or

role_type like

#select>

mybatis中LIKE模糊查詢

mybatis中對於使用like來進行模糊查詢的幾種方式 使用 由於 是引數直接注入的,導致這種寫法,大括號裡面不能註明jdbctype,不然會報錯org.mybatis.spring.mybatissystemexception nested exception is org.apache.iba...

mybatis3 like模糊查詢小結

現在的專案用的是mybatis3,不是ibatis,大同小異的。沒什麼。今天在用like作模糊查詢時,遇到小小的問題,在此作個小結。記得以前ibatis時,可以這樣寫的 select from student where sname like sname 為了安全,也不提倡這種寫法了。在網上搜了一大...

like 模糊查詢

sql 模糊查詢 逗號,在sql中like中不需要轉義,但是如果 在sql中的某個欄位值用 分隔資料,需要獲取資料的時候直接把 拆分成資料,獲得乙個資料的list。例如 需要查詢某欄位是否包含乙個值,111是否存在於1111,2111,1112,1121,1113這個欄位中 因為根據 逗號分開,要求...