Java SpringBoot QueryWapper List Map 实现多表/嵌套查询

一、准备工作

①准备数据库

客户表Java SpringBoot QueryWapper List Map 实现多表/嵌套查询_第1张图片

用户表

Java SpringBoot QueryWapper List Map 实现多表/嵌套查询_第2张图片

 ②配置springboot框架文件,不多讲述

Java SpringBoot QueryWapper List Map 实现多表/嵌套查询_第3张图片

 

 二、关键代码

在controller中自定义一个查询方法,将以下代码写进去,该为自己需要的代码字段

//创建一个客户的wapper
QueryWrapper customersQueryWrapper=new QueryWrapper<>();
//执行sql语句
customersQueryWrapper.exists("SELECT * FROM `customers`");
//转换为集合
List customersList=customersService.list(customersQueryWrapper);

System.out.println("=======商家列表=======");

//循环输出客户表的信息
for (Customers customers : customersList) {

    System.out.println(customers);
}


//创建一个用户的wapper
QueryWrapper usersQueryWrapper=new QueryWrapper<>();

//执行sql语句
 usersQueryWrapper.exists("SELECT * FROM `users` ");

//转换为集合
List usersList=usersService.list(usersQueryWrapper);

System.out.println("=======用户列表=======");

//循环输出用户表的信息
for (Users users : usersList) {
    System.out.println(users);
}


//定义结果集合,用来存储map键值对集合
ListresList=new ArrayList<>();

//循环主表的对象集合,我这里是客户表为主表
for (int i=0;i map=new HashMap<>();

        //向map集合中追加键值对
        //键就是客户表数据库的名字(也可自定义,建议不要,防止混淆)
        //值就是循环的集合元素.get到的
        map.put("id",customersList.get(i).getId().toString());
        map.put("name",customersList.get(i).getName());
        map.put("address",customersList.get(i).getAddress());
        map.put("sLatitude",customersList.get(i).getSlatitude());
        map.put("eLatitude",customersList.get(i).getElatitude());
        map.put("joinTime",customersList.get(i).getJointime().toString());
        map.put("userId",customersList.get(i).getUserid().toString());
        //已经判断外键相同,所以这里直接存储外键对象的名字,如果你的不是名字可以更改
        map.put("userName",usersList.get(i).getName());
        map.put("status",customersList.get(i).getStatus().toString());

        //将map键值对存储到结果集合中
        resList.add(map);
    }
}

System.out.println("=======结果列表=======");

//循环输出结果表的信息
for (Map map : resList) {
    System.out.println(map);
}

三、运行结果如下

Java SpringBoot QueryWapper List Map 实现多表/嵌套查询_第4张图片

 

你可能感兴趣的:(java,spring,boot,list)