使用MyBatis查询数据,按特定顺序排序

有如下表table_city

id      city
1      beijing
2      shanghai
3      hanghzou
4      shenzhen

现在将查询出的数据按照id 3、4、1、2排序

先把id数据按照一定顺序放到一个List中

List<Integer> ids = new ArrayList<Integer>();
ids.add(3);
ids.add(4);
ids.add(1);
ids.add(2);

MyBatis mapper sql如下

<select id="findHistory" resultMap="recentlyBrowse">
    select * from
    <foreach collection="list" item="id" index="index"
        open="(" close=")" separator="union all">
        select * from table_city where id=#{id,jdbcType=DECIMAL}
    </foreach> as city
</select>

把ids作为参数传递给查询的dao方法

@Autowired
SqlSessionTemplate sql;

public List<People> findHistory(List<Integer> ids) {
    return sql.selectList(NAMESPACE + "findHistory", ids);
}

对于Mapper接口,如下:

public interface TableCityMapper {
    List<City> findHistory(@Param("list") List<Integer> ids);
}

版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/02/26/using-mybatis-to-query-data-and-sort-it-in-specific-order/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
使用MyBatis查询数据,按特定顺序排序
有如下表table_city id city 1 beijing 2 shanghai 3 hanghzou 4 shenzhen 现在将查询出的数据按照id 3、4、1、2排序 先把id数据按……
<<上一篇
下一篇>>
文章目录
关闭
目 录