mybatis查询数据库时,回显数据不按照传入顺序

导读:本篇文章讲解 mybatis查询数据库时,回显数据不按照传入顺序,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

在使用Redis传入mysql查询数据时,mysql返回的数据默认按照id顺序返回,与所传入的参数顺序不一致,此时解决办法,在mysql语句中添加ORDER BY FIELD(字段名,具体的顺序).

在spring中应如下操作:

首先将redis想插入到mysql的数据按照顺序进行转换为字符串的形式:

 String idStr = StrUtil.join(",",ids);

然后在查询时将语句修改为如下语句:

List<UserDTO> userDTOList = userService.query().in("id",ids)
                        .last("ORDER BY FIELD(id," + idStr + ")").
                        list().stream().map(
                        user -> BeanUtil.copyProperties(user, UserDTO.class))
                .collect(Collectors.toList());

其中 in 表示指示的字段的名称, .last表示添加的最后一句sql语句,手动指定了需要的顺序.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/88840.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!