fzj0615 2023-03-02 21:11 采纳率: 0%
浏览 50

MyBatisPlus查询条件selectMaps返回List<Map<String, Object>>时键值对不匹配sql语句字段顺序

在学习mybatis-plus时,在对数据库进行分组查询聚合函数时,使用 List<Map<String, Object>> maps = userDao.selectMaps(qw);

//接口代码
@Mapper
@Repository
public interface UserDao extends BaseMapper<User> {
}
//测试代码
    @Test
    void testQueryWrapper11() {
        QueryWrapper<User> qw = new QueryWrapper<>();

        qw.select("tel","count(*) as count")
                .groupBy("tel");

        List<Map<String, Object>> maps = userDao.selectMaps(qw);
        System.out.println(maps);
    }

得到的结果中,Map的键值对顺序不是我查询时sql语句中的顺序,结果如下图:

img

如果改变sql语句中的字段名,键值对也会改变

    @Test
    void testQueryWrapper11() {
        QueryWrapper<User> qw = new QueryWrapper<>();

        qw.select("tel","count(*) as nums")
                .groupBy("tel");

        List<Map<String, Object>> maps = userDao.selectMaps(qw);
        System.out.println(maps);
    }

结果如下:

img

查阅一些资料后猜测这是因为按HashMap规则排列导致,但是我不能确定.
请问这是什么原因,还有怎么解决啊.

  • 写回答

2条回答 默认 最新

  • 默兮y 2023-03-02 21:40
    关注

    用selectList就行了

    评论

报告相同问题?

问题事件

  • 创建了问题 3月2日

悬赏问题

  • ¥15 stc15f2k60s2单片机关于流水灯,时钟,定时器,矩阵键盘等方面的综合问题
  • ¥15 YOLOv8已有一个初步的检测模型,想利用这个模型对新的图片进行自动标注,生成labellmg可以识别的数据,再手动修改。如何操作?
  • ¥30 NIRfast软件使用指导
  • ¥20 matlab仿真问题,求功率谱密度
  • ¥15 求micropython modbus-RTU 从机的代码或库?
  • ¥15 django5安装失败
  • ¥15 Java与Hbase相关问题
  • ¥15 后缀 crn 游戏文件提取资源
  • ¥20 bash代码推送不上去 git fetch origin master #失败了
  • ¥15 LOL外服加入了反作弊系统,现在游戏录像rofl文件离线都无法打开