您的位置:首页 > 数据库 > MySQL

mybatis 下 mysql in查询按照参数顺序输出结果

2017-08-08 16:09 751 查看
若是直接

SELECT * FROM project_celiangbuwei where clbwid in ( 7 , 11 , 20 , 4 ) 

则输出结果为:

4 净胸围

7 净臀围

11 肩宽

20 横裆

使用Field函数排序后:

SQL:

SELECT * FROM project_celiangbuwei where clbwid in ( 7 , 11 , 20 , 4 )  ORDER BY FIELD(clbwid,7,11,20,4)

输出结果:

7 净臀围

11 肩宽

20 横裆

4 净胸围

mybatis 设置:

<select id="findByIds" resultType="com.bwhx.eruler.bean.CeliangBuwei">
SELECT * FROM project_celiangbuwei
where
clbwid in
<foreach collection="array" index="index" item="item" open="(" separator="," close=")" >
#{item}
</foreach>
order by
field(
clbwid,
<foreach collection="array" index="index" item="item" separator="," >
#{item}
</foreach>
)
</select>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mybatis mysql select in