欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  技术分享

MyBatis in查询_MyBatis where in语句如何传参数

程序员文章站 2022-02-22 08:20:36
...

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>


2、如果参数的类型是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>


3、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´)


若资源对你有帮助,浏览后有很大收获,不妨小额打赏我一下,你的鼓励是维持我不断写博客最大动力。

想获取DD博客最新代码,你可以扫描下方的二维码,关注DD博客微信公众号(ddblogs)。

或者你也可以关注我的新浪微博,了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)

如对资源有任何疑问或觉得仍然有很大的改善空间,可以对该博文进行评论,希望不吝赐教。

为保证及时回复,可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)

感谢你的访问,祝你生活愉快、工作顺心,欢迎常来逛逛。