myBatis通過逗號分隔字串,foreach

2022-09-14 03:09:10 字數 1091 閱讀 2420

前言

當資料庫裡儲存的值是以逗號分隔格式儲存的字串時。

資料格式如下:

idname 

ids 1張三

b2李四e

我們拿到的條件引數是:b,e

1.後台通過逗號分隔陣列,生成查詢語句

select

*from

table

where ids in (』b』,』e』)

<

select

id="getsimilarity"

parametertype

="j**a.util.hashmap"

resulttype

="j**a.util.hashmap"

>

select * from table

where ids in

<

foreach

item

="item"

index

="index"

collection

="ids.split(』,』)"

open

="("

separator

=","

close

=")"

>

#

foreach

>

select

>

注:ids就是傳入的引數名稱,如果報錯請檢查引數名稱是否正確,引數是否有值。

後台**(我這裡有需要其他引數,所以用的map舉例):

mapmap = new hashmap();

map.put("ids", "b,e");

list

> list = tableservice.getsimilarity(map);

控制台列印sql:

preparing: select * from table where ids in ( ? , ?) 

parameters: b(string), e(string)

我這裡就是簡單舉例,其他使用方式請各位大佬自行研究。

mysql 逗號分隔的id轉為逗號分隔的名稱

mysql 的一張表a的某1欄位是用逗號分隔的code,每個code對應在b表的有code和名稱的對應表。如果用語句檢索出,用逗號分隔的名稱拼接在一起。select b.engine number,group concat code name astran name fromt fix code a...

mysql 逗號分隔查詢

商品表 goods 有學校字段 school ids 學校字段 school ids 中儲存學校表 school 的id,如果商品包含多個學校則多個id使用逗號分隔儲存 查詢sql select g.id,g.school ids,group concat s.locality name from ...

集合元素逗號分隔

arraylist strlist newarraylist strlist.add aa strlist.add bb strlist.add cc strlist.add dd system.out.println stringutils.join strlist.toarray 以上 輸出aa...