mybatis中使用in查詢時的注意事項

2021-08-02 00:14:20 字數 2150 閱讀 4966

1. 

當查詢的引數只有乙個時

findbyids(listids)

1.a 

如果引數的型別是list, 則在使用時,collection屬性要必須指定為 list

findbyidsmap

" resultmap="

baseresultmap

">select

"base_column_list

" />

from jria where id in

item

" index="

index

" collection="

list

" open="

(" separator="

," close="

)">#

foreach>

select>

findbyids(long ids)

1.b 

如果引數的型別是array,則在使用時,collection屬性要必須指定為 array

findbyidsmap

" resultmap="

baseresultmap

">

select

"base_column_list

" />

from jria where id in

item

" index="

index

" collection="

array

" open="

(" separator="

," close="

)">#

foreach>

select>

2. 

當查詢的引數有多個時

,例如 findbyids(string name, long ids)

這種情況需要特別注意,在傳引數時,一定要改用map方式, 這樣在collection屬性可以指定名稱

下面是乙個示例

mapparams = new hashmap(2

);

params.put("

name

", name);

params.put("

ids"

, ids);

params);

findbyidsmap

" resultmap="

baseresultmap

">

select

"base_column_list

" />

from jria where id in

item

" index="

index

" collection="

ids">

open="

(" separator="

," close="

)">#

foreach>

select>

完整的示例如下:

listfindbyids(long... ids);

使用 in 查詢的sql拼裝方法如下:

findbyids

" resultmap="

baseresultmap

">

select

"base_column_list

" />

from jria where id in

item

" index="

index

" collection="

array

" open="

(" separator="

," close="

)">#

foreach>

select>

mybatis中使用in查詢時的注意事項

1.當查詢的引數只有乙個時 findbyids listids 1.a 如果引數的型別是list,則在使用時,collection屬性要必須指定為 list findbyidsmap resultmap baseresultmap select base column list from jria ...

mybatis中使用in查詢時的注意事項

1.當查詢的引數只有乙個時 findbyids listids 1.a 如果引數的型別是list,則在使用時,collection屬性要必須指定為 list id findbyidsmap resultmap baseresultmap select refid base column list f...

mybatis中使用in查詢時的注意事項

1.當查詢的引數只有乙個時findbyids listids 1.a 如果引數的型別是list,則在使用時,collection屬性要必須指定為 list select from jria where id in findbyids long ids 1.b 如果引數的型別是array,則在使用時,...