转自:https://www.cnblogs.com/panxuejun/p/6188409.html?utm_source=itdadao&utm_medium=referral
mybatis sql in 查询(mybatis sql语句传入参数是list)mybatis中使用in查询时in怎么接收值
1.in查询条件是list时
<select id="getMultiMomentsCommentsCounts" resultType="int">
select moment_comment_count from tbl_moment_commentCount where mid in
<foreach item="item" index="index" collection="list" open="(" separator="," close=")">
#{item}
</foreach>
</select>
.1 如果参数的类型是List, 则在使用时,collection属性要必须指定为 list
- <select id="findByIdsMap" resultMap="BaseResultMap">
- Select
- <include refid="Base_Column_List" />
- from jria where ID in
- <foreach item="item" index="index" collection="list" open="(" separator="," close=")">
- #{item}
- </foreach>
- </select>
2.in查询条件是枚举值时
默认下,使用select xxx where in(xx,xx)查询,返回结果是按主键排序的,如果要按in()中值的排列顺序,可以这样做:
select * from talbe where id in(3,2,4,1) ORDER BY FIND_IN_SET( id, '3,2,4,1')