一、准备工作
①准备数据库
客户表
用户表
②配置springboot框架文件,不多讲述
二、关键代码
在controller中自定义一个查询方法,将以下代码写进去,该为自己需要的代码字段
//创建一个客户的wapper
QueryWrapper<Customers> customersQueryWrapper=new QueryWrapper<>();
//执行sql语句
customersQueryWrapper.exists("SELECT * FROM `customers`");
//转换为集合
List<Customers> customersList=customersService.list(customersQueryWrapper);
System.out.println("=======商家列表=======");
//循环输出客户表的信息
for (Customers customers : customersList) {
System.out.println(customers);
}
//创建一个用户的wapper
QueryWrapper<Users> usersQueryWrapper=new QueryWrapper<>();
//执行sql语句
usersQueryWrapper.exists("SELECT * FROM `users` ");
//转换为集合
List<Users> usersList=usersService.list(usersQueryWrapper);
System.out.println("=======用户列表=======");
//循环输出用户表的信息
for (Users users : usersList) {
System.out.println(users);
}
//定义结果集合,用来存储map键值对集合
List<Map>resList=new ArrayList<>();
//循环主表的对象集合,我这里是客户表为主表
for (int i=0;i<customersList.size();i++){
//判断外键是否相同,相同在添加到map中
if(customersList.get(i).getUserid().equals(usersList.get(i).getId())){
//创建map集合,存储数据库的键值对
Map<String,String> 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);
}
三、运行结果如下