【愚公系列】2023年10月 Java教学课程 096-MySQL数据库(多表查询)

本文主要是介绍【愚公系列】2023年10月 Java教学课程 096-MySQL数据库(多表查询),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

🏆 作者简介,愚公搬代码
🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,阿里云专家博主,腾讯云优秀博主,掘金优秀博主,51CTO博客专家等。
🏆《近期荣誉》:2022年CSDN博客之星TOP2,2022年华为云十佳博主等。
🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
🏆🎉欢迎 👍点赞✍评论⭐收藏

文章目录

  • 🚀一、多表查询
    • 🔎1.多表查询-数据准备
    • 🔎2.多表查询-笛卡尔积查询(了解)
    • 🔎3.多表查询-内连接查询
    • 🔎4.多表查询-外连接查询
    • 🔎5.多表查询-子查询
    • 🔎6.多表查询练习
    • 🔎7.多表查询-自关联查询
  • 🚀感谢:给读者的一封信


🚀一、多表查询

多表查询是指在数据库中通过连接多张表来查询数据的过程。

🔎1.多表查询-数据准备

  • SQL语句
-- 创建db6数据库
CREATE DATABASE db6;
-- 使用db6数据库
USE db6;-- 创建user表
CREATE TABLE USER(id INT PRIMARY KEY AUTO_INCREMENT,	-- 用户idNAME VARCHAR(20),			        -- 用户姓名age INT                             -- 用户年龄
);
-- 添加数据
INSERT INTO USER VALUES (1,'张三',23);
INSERT INTO USER VALUES (2,'李四',24);
INSERT INTO USER VALUES (3,'王五',25);
INSERT INTO USER VALUES (4,'赵六',26);-- 订单表
CREATE TABLE orderlist(id INT PRIMARY KEY AUTO_INCREMENT,	-- 订单idnumber VARCHAR(30),					-- 订单编号uid INT,    -- 外键字段CONSTRAINT ou_fk1 FOREIGN KEY (uid) REFERENCES USER(id)
);
-- 添加数据
INSERT INTO orderlist VALUES (1,'hm001',1);
INSERT INTO orderlist VALUES (2,'hm002',1);
INSERT INTO orderlist VALUES (3,'hm003',2);
INSERT INTO orderlist VALUES (4,'hm004',2);
INSERT INTO orderlist VALUES (5,'hm005',3);
INSERT INTO orderlist VALUES (6,'hm006',3);
INSERT INTO orderlist VALUES (7,'hm007',NULL);-- 商品分类表
CREATE TABLE category(id INT PRIMARY KEY AUTO_INCREMENT,  -- 商品分类idNAME VARCHAR(10)                    -- 商品分类名称
);
-- 添加数据
INSERT INTO category VALUES (1,'手机数码');
INSERT INTO category VALUES (2,'电脑办公');
INSERT INTO category VALUES (3,'烟酒茶糖');
INSERT INTO category VALUES (4,'鞋靴箱包');-- 商品表
CREATE TABLE product(id INT PRIMARY KEY AUTO_INCREMENT,   -- 商品idNAME VARCHAR(30),                    -- 商品名称cid INT, -- 外键字段CONSTRAINT cp_fk1 FOREIGN KEY (cid) REFERENCES category(id)
);
-- 添加数据
INSERT INTO product VALUES (1,'华为手机',1);
INSERT INTO product VALUES (2,'小米手机',1);
INSERT INTO product VALUES (3,'联想电脑',2);
INSERT INTO product VALUES (4,'苹果电脑',2);
INSERT INTO product VALUES (5,'中华香烟',3);
INSERT INTO product VALUES (6,'玉溪香烟',3);
INSERT INTO product VALUES (7,'计生用品',NULL);-- 中间表
CREATE TABLE us_pro(upid INT PRIMARY KEY AUTO_INCREMENT,  -- 中间表iduid INT, -- 外键字段。需要和用户表的主键产生关联pid INT, -- 外键字段。需要和商品表的主键产生关联CONSTRAINT up_fk1 FOREIGN KEY (uid) REFERENCES USER(id),CONSTRAINT up_fk2 FOREIGN KEY (pid) REFERENCES product(id)
);
-- 添加数据
INSERT INTO us_pro VALUES (NULL,1,1);
INSERT INTO us_pro VALUES (NULL,1,2);
INSERT INTO us_pro VALUES (NULL,1,3);
INSERT INTO us_pro VALUES (NULL,1,4);
INSERT INTO us_pro VALUES (NULL,1,5);
INSERT INTO us_pro VALUES (NULL,1,6);
INSERT INTO us_pro VALUES (NULL,1,7);
INSERT INTO us_pro VALUES (NULL,2,1);
INSERT INTO us_pro VALUES (NULL,2,2);
INSERT INTO us_pro VALUES (NULL,2,3);
INSERT INTO us_pro VALUES (NULL,2,4);
INSERT INTO us_pro VALUES (NULL,2,5);
INSERT INTO us_pro VALUES (NULL,2,6);
INSERT INTO us_pro VALUES (NULL,2,7);
INSERT INTO us_pro VALUES (NULL,3,1);
INSERT INTO us_pro VALUES (NULL,3,2);
INSERT INTO us_pro VALUES (NULL,3,3);
INSERT INTO us_pro VALUES (NULL,3,4);
INSERT INTO us_pro VALUES (NULL,3,5);
INSERT INTO us_pro VALUES (NULL,3,6);
INSERT INTO us_pro VALUES (NULL,3,7);
INSERT INTO us_pro VALUES (NULL,4,1);
INSERT INTO us_pro VALUES (NULL,4,2);
INSERT INTO us_pro VALUES (NULL,4,3);
INSERT INTO us_pro VALUES (NULL,4,4);
INSERT INTO us_pro VALUES (NULL,4,5);
INSERT INTO us_pro VALUES (NULL,4,6);
INSERT INTO us_pro VALUES (NULL,4,7);
  • 架构器图解

在这里插入图片描述

🔎2.多表查询-笛卡尔积查询(了解)

  • 有两张表,获取这两个表的所有组合情况
  • 要完成多表查询,需要消除这些没有用的数据
  • 多表查询格式
SELECT列名列表
FROM表名列表
WHERE条件...
  • 笛卡尔积查询

笛卡尔积查询(Cartesian product query)是指在关系型数据库中,对多个表进行联结查询时,使用笛卡尔积操作。笛卡尔积操作是指将两个表中的每一行都与另一个表中的每一行进行组合,生成的结果集中包含所有可能的组合结果。笛卡尔积查询在数据量较大的情况下会导致性能问题,因此应该尽量避免使用。可以通过优化查询语句、建立索引等方式来提高查询性能。

-- 标准语法
SELECT 列名 FROM 表名1,表名2,...;-- 查询user表和orderlist表
SELECT * FROM USER,orderlist;

在这里插入图片描述

🔎3.多表查询-内连接查询

内连接查询是一种在两个或多个表中合并行的 SQL 操作。它选择两个表中具有相同值的行。

内连接是对两个表进行联接操作的一种方法,通过比较两个表的共同字段的值,仅保留具有相同值的行,并在这些行上创建一个新的结果集。

内连接通常使用 ON 子句或 USING 子句进行定义,其中定义了连接条件,即在哪些字段上进行比较。如果比较的字段值相同,则在结果集中保留这些行。否则,将舍弃这些行。

  • 查询原理
    • 内连接查询的是两张表有交集的部分数据(有主外键关联的数据)
  • 显式内连接
-- 标准语法
SELECT 列名 FROM 表名1 [INNER] JOIN 表名2 ON 条件;-- 查询用户信息和对应的订单信息
SELECT * FROM USER INNER JOIN orderlist ON user.id=orderlist.uid;
SELECT * FROM USER JOIN orderlist ON user.id=orderlist.uid;-- 查询用户信息和对应的订单信息,起别名
SELECT * FROM USER u JOIN orderlist o ON u.id=o.uid;-- 查询用户姓名,年龄。和订单编号
SELECTu.`name`,	-- 姓名u.`age`,	-- 年龄o.`number`	-- 订单编号
FROMUSER u          -- 用户表
JOINorderlist o     -- 订单表
ON u.`id` = o.`uid`;

在这里插入图片描述

  • 隐式内连接
-- 标准语法
SELECT 列名 FROM 表名1,表名2 WHERE 条件;-- 查询用户姓名,年龄。和订单编号
SELECTu.`name`,	-- 姓名u.`age`,	-- 年龄o.`number`	-- 订单编号
FROMUSER u,		-- 用户表orderlist o     -- 订单表
WHEREu.`id`=o.`uid`;

在这里插入图片描述

🔎4.多表查询-外连接查询

外连接查询(Outer Join)是一种数据查询方法,用于连接两个或多个表格,并包括符合条件的所有记录,即使其中一个表格中的数据没有与之匹配的数据。外连接查询有三种类型:左外连接、右外连接和全外连接。

  • 左外连接(Left Outer Join):左外连接返回左表格中的所有记录和右表格中与之匹配的记录。如果右表格中没有匹配的记录,则返回
    NULL 值。
  • 右外连接(Right Outer Join):右外连接返回右表格中的所有记录和左表格中与之匹配的记录。如果左表格中没有匹配的记录,则返回
    NULL 值。
  • 全外连接(Full Outer
    Join):全外连接返回左表格和右表格中的所有记录,并包括符合条件的所有记录。如果其中一个表格中没有匹配的记录,则返回 NULL 值。

外连接查询通常用于在两个或多个表格之间建立关联,并查找符合条件的所有数据。例如,如果您想查找所有客户的姓名和订单信息,即使某些客户尚未下订单,您可以使用左外连接查询来获取所有客户的信息,包括没有下订单的客户。

  • 左外连接

    • 查询原理
      • 查询左表的全部数据,和左右两张表有交集部分的数据
    • 基本演示
    -- 标准语法
    SELECT 列名 FROM 表名1 LEFT [OUTER] JOIN 表名2 ON 条件;-- 查询所有用户信息,以及用户对应的订单信息
    SELECTu.`name`,	-- 姓名u.`age`,	-- 年龄o.`number`	-- 订单编号
    FROMUSER u          -- 用户表
    LEFT OUTER JOINorderlist o     -- 订单表
    ONu.`id`=o.`uid`;
    

在这里插入图片描述

  • 右外连接

    • 查询原理
      • 查询右表的全部数据,和左右两张表有交集部分的数据
    • 基本演示
    -- 基本语法
    SELECT 列名 FROM 表名1 RIGHT [OUTER] JOIN 表名2 ON 条件;-- 查询所有订单信息,以及订单所属的用户信息
    SELECTu.`name`,	-- 姓名u.`age`,	-- 年龄o.`number`	-- 订单编号
    FROMUSER u          -- 用户表
    RIGHT OUTER JOINorderlist o     -- 订单表
    ONu.`id`=o.`uid`;
    

在这里插入图片描述

🔎5.多表查询-子查询

  • 子查询介绍

    • 查询语句中嵌套了查询语句。我们就将嵌套查询称为子查询!
  • 子查询-结果是单行单列的

    • 可以作为条件,使用运算符进行判断!
    • 基本演示
    -- 标准语法
    SELECT 列名 FROM 表名 WHERE 列名=(SELECT 聚合函数(列名) FROM 表名 [WHERE 条件]);-- 查询年龄最高的用户姓名
    SELECT MAX(age) FROM USER;              -- 查询出最高年龄
    SELECT NAME,age FROM USER WHERE age=26; -- 根据查询出来的最高年龄,查询姓名和年龄
    SELECT NAME,age FROM USER WHERE age = (SELECT MAX(age) FROM USER);
    

在这里插入图片描述

  • 子查询-结果是多行单列的

    • 可以作为条件,使用运算符in或not in进行判断!
    • 基本演示
    -- 标准语法
    SELECT 列名 FROM 表名 WHERE 列名 [NOT] IN (SELECT 列名 FROM 表名 [WHERE 条件]); -- 查询张三和李四的订单信息
    SELECT id FROM USER WHERE NAME='张三' OR NAME='李四';   -- 查询张三和李四用户的id
    SELECT number,uid FROM orderlist WHERE uid=1 OR uid=2; -- 根据id查询订单
    SELECT number,uid FROM orderlist WHERE uid IN (SELECT id FROM USER WHERE NAME='张三' OR NAME='李四');
    

在这里插入图片描述

  • 子查询-结果是多行多列的

    • 可以作为一张虚拟表参与查询!
    • 基本演示
    -- 标准语法
    SELECT 列名 FROM 表名 [别名],(SELECT 列名 FROM 表名 [WHERE 条件]) [别名] [WHERE 条件];-- 查询订单表中id大于4的订单信息和所属用户信息
    SELECT * FROM USER u,(SELECT * FROM orderlist WHERE id>4) o WHERE u.id=o.uid;
    

在这里插入图片描述

🔎6.多表查询练习

  • 查询用户的编号、姓名、年龄。订单编号
/*
分析:用户的编号、姓名、年龄  user表     订单编号 orderlist表条件:user.id = orderlist.uid
*/
SELECTt1.`id`,	-- 用户编号t1.`name`,	-- 用户姓名t1.`age`,	-- 用户年龄t2.`number`	-- 订单编号
FROMUSER t1,       -- 用户表orderlist t2   -- 订单表
WHEREt1.`id` = t2.`uid`;
  • 查询所有的用户。用户的编号、姓名、年龄。订单编号
/*
分析:用户的编号、姓名、年龄 user表     订单编号 orderlist表条件:user.id = orderlist.uid查询所有用户,使用左外连接
*/
SELECTt1.`id`,	-- 用户编号t1.`name`,	-- 用户姓名t1.`age`,	-- 用户年龄t2.`number`	-- 订单编号
FROMUSER t1        -- 用户表
LEFT OUTER JOINorderlist t2   -- 订单表
ONt1.`id` = t2.`uid`;
  • 查询所有的订单。用户的编号、姓名、年龄。订单编号
/*
分析:用户的编号、姓名、年龄 user表     订单编号 orderlist表条件:user.id = orderlist.uid查询所有订单,使用右外连接
*/
SELECTt1.`id`,	-- 用户编号t1.`name`,	-- 用户姓名t1.`age`,	-- 用户年龄t2.`number`	-- 订单编号
FROMUSER t1         -- 用户表
RIGHT OUTER JOINorderlist t2    -- 订单表
ONt1.`id` = t2.`uid`;
  • 查询用户年龄大于23岁的信息。显示用户的编号、姓名、年龄。订单编号
/*
分析:用户的编号、姓名、年龄 user表     订单编号 orderlist表条件:user.age > 23 AND user.id = orderlist.uid
*/
/*
selectt1.`id`,	-- 用户编号t1.`name`,	-- 用户姓名t1.`age`,	-- 用户年龄t2.`number`	-- 订单编号
fromuser t1,     -- 用户表orderlist t2 -- 订单表
wheret1.`age` > 23andt1.`id` = t2.`uid`;
*/
SELECTt1.`id`,	-- 用户编号t1.`name`,	-- 用户姓名t1.`age`,	-- 用户年龄t2.`number`	-- 订单编号
FROMUSER t1       -- 用户表
LEFT OUTER JOINorderlist t2  -- 订单表
ONt1.`id` = t2.`uid`
WHEREt1.`age` > 23;
  • 查询张三和李四用户的信息。显示用户的编号、姓名、年龄。订单编号
/*
分析:用户的编号、姓名、年龄 user表     订单编号 orderlist表条件:user.id = orderlist.uid AND user.name IN ('张三','李四');
*/
SELECTt1.`id`,	-- 用户编号t1.`name`,	-- 用户姓名t1.`age`,	-- 用户年龄t2.`number`	-- 订单编号
FROMUSER t1,        -- 用户表orderlist t2    -- 订单表
WHEREt1.`id` = t2.`uid`AND-- (t1.`name` = '张三' OR t1.`name` = '李四');t1.`name` IN ('张三','李四');
  • 查询商品分类的编号、分类名称。分类下的商品名称
/*
分析:商品分类的编号、分类名称 category表     分类下的商品名称 product表条件:category.id = product.cid
*/
SELECTt1.`id`,	-- 分类编号t1.`name`,	-- 分类名称t2.`name`	-- 商品名称
FROMcategory t1,	-- 商品分类表product t2	    -- 商品表
WHEREt1.`id` = t2.`cid`;
  • 查询所有的商品分类。商品分类的编号、分类名称。分类下的商品名称
/*
分析:商品分类的编号、分类名称 category表     分类下的商品名称 product表条件:category.id = product.cid查询所有的商品分类,使用左外连接
*/
SELECTt1.`id`,	-- 分类编号t1.`name`,	-- 分类名称t2.`name`	-- 商品名称
FROMcategory t1	-- 商品分类表
LEFT OUTER JOINproduct t2	-- 商品表
ONt1.`id` = t2.`cid`;
  • 查询所有的商品信息。商品分类的编号、分类名称。分类下的商品名称
/*
分析:商品分类的编号、分类名称 category表     分类下的商品名称 product表条件:category.id = product.cid查询所有的商品信息,使用右外连接
*/
SELECTt1.`id`,	-- 分类编号t1.`name`,	-- 分类名称t2.`name`	-- 商品名称
FROMcategory t1	-- 商品分类表
RIGHT OUTER JOINproduct t2	-- 商品表
ONt1.`id` = t2.`cid`;
  • 查询所有的用户和所有的商品。显示用户的编号、姓名、年龄。商品名称
/*
分析:用户的编号、姓名、年龄 user表   商品名称 product表   中间表 us_pro条件:us_pro.uid = user.id AND us_pro.pid = product.id
*/
SELECTt1.`id`,	-- 用户编号t1.`name`,	-- 用户名称t1.`age`,	-- 用户年龄t2.`name`	-- 商品名称
FROMUSER t1,	-- 用户表product t2,	-- 商品表us_pro t3	-- 中间表
WHEREt3.`uid` = t1.`id`ANDt3.`pid` = t2.`id`;
  • 查询张三和李四这两个用户可以看到的商品。显示用户的编号、姓名、年龄。商品名称
/*
分析:用户的编号、姓名、年龄 user表   商品名称 product表   中间表 us_pro条件:us_pro.uid = user.id AND us_pro.pid = product.id AND user.name IN ('张三','李四')
*/
SELECTt1.`id`,	-- 用户编号t1.`name`,	-- 用户名称t1.`age`,	-- 用户年龄t2.`name`	-- 商品名称
FROMUSER t1,	-- 用户表product t2,	-- 商品表us_pro t3	-- 中间表
WHERE(t3.`uid` = t1.`id` AND t3.`pid` = t2.`id`)AND-- (t1.`name` = '张三' or t1.`name` = '李四');t1.`name` IN ('张三','李四');

🔎7.多表查询-自关联查询

  • 自关联查询介绍
    • 同一张表中有数据关联。可以多次查询这同一个表!
  • 自关联查询演示
-- 创建员工表
CREATE TABLE employee(id INT PRIMARY KEY AUTO_INCREMENT,NAME VARCHAR(20),mgr INT,salary DOUBLE
);
-- 添加数据
INSERT INTO employee VALUES (1001,'孙悟空',1005,9000.00),
(1002,'猪八戒',1005,8000.00),
(1003,'沙和尚',1005,8500.00),
(1004,'小白龙',1005,7900.00),
(1005,'唐僧',NULL,15000.00),
(1006,'武松',1009,7600.00),
(1007,'李逵',1009,7400.00),
(1008,'林冲',1009,8100.00),
(1009,'宋江',NULL,16000.00);-- 查询所有员工的姓名及其直接上级的姓名,没有上级的员工也需要查询
/*
分析:员工姓名 employee表        直接上级姓名 employee表条件:employee.mgr = employee.id查询左表的全部数据,和左右两张表交集部分数据,使用左外连接
*/
SELECTt1.name,	-- 员工姓名t1.mgr,		-- 上级编号t2.id,		-- 员工编号t2.name     -- 员工姓名
FROMemployee t1  -- 员工表
LEFT OUTER JOINemployee t2  -- 员工表
ONt1.mgr = t2.id;

🚀感谢:给读者的一封信

亲爱的读者,

我在这篇文章中投入了大量的心血和时间,希望为您提供有价值的内容。这篇文章包含了深入的研究和个人经验,我相信这些信息对您非常有帮助。

如果您觉得这篇文章对您有所帮助,我诚恳地请求您考虑赞赏1元钱的支持。这个金额不会对您的财务状况造成负担,但它会对我继续创作高质量的内容产生积极的影响。

我之所以写这篇文章,是因为我热爱分享有用的知识和见解。您的支持将帮助我继续这个使命,也鼓励我花更多的时间和精力创作更多有价值的内容。

如果您愿意支持我的创作,请扫描下面二维码,您的支持将不胜感激。同时,如果您有任何反馈或建议,也欢迎与我分享。

在这里插入图片描述

再次感谢您的阅读和支持!

最诚挚的问候, “愚公搬代码”

这篇关于【愚公系列】2023年10月 Java教学课程 096-MySQL数据库(多表查询)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/405003

相关文章

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源

Mac系统下卸载JAVA和JDK的步骤

《Mac系统下卸载JAVA和JDK的步骤》JDK是Java语言的软件开发工具包,它提供了开发和运行Java应用程序所需的工具、库和资源,:本文主要介绍Mac系统下卸载JAVA和JDK的相关资料,需... 目录1. 卸载系统自带的 Java 版本检查当前 Java 版本通过命令卸载系统 Java2. 卸载自定

SQL BETWEEN 语句的基本用法详解

《SQLBETWEEN语句的基本用法详解》SQLBETWEEN语句是一个用于在SQL查询中指定查询条件的重要工具,它允许用户指定一个范围,用于筛选符合特定条件的记录,本文将详细介绍BETWEEN语... 目录概述BETWEEN 语句的基本用法BETWEEN 语句的示例示例 1:查询年龄在 20 到 30 岁

MySQL DQL从入门到精通

《MySQLDQL从入门到精通》通过DQL,我们可以从数据库中检索出所需的数据,进行各种复杂的数据分析和处理,本文将深入探讨MySQLDQL的各个方面,帮助你全面掌握这一重要技能,感兴趣的朋友跟随小... 目录一、DQL 基础:SELECT 语句入门二、数据过滤:WHERE 子句的使用三、结果排序:ORDE

springboot下载接口限速功能实现

《springboot下载接口限速功能实现》通过Redis统计并发数动态调整每个用户带宽,核心逻辑为每秒读取并发送限定数据量,防止单用户占用过多资源,确保整体下载均衡且高效,本文给大家介绍spring... 目录 一、整体目标 二、涉及的主要类/方法✅ 三、核心流程图解(简化) 四、关键代码详解1️⃣ 设置

Java Spring ApplicationEvent 代码示例解析

《JavaSpringApplicationEvent代码示例解析》本文解析了Spring事件机制,涵盖核心概念(发布-订阅/观察者模式)、代码实现(事件定义、发布、监听)及高级应用(异步处理、... 目录一、Spring 事件机制核心概念1. 事件驱动架构模型2. 核心组件二、代码示例解析1. 事件定义

SpringMVC高效获取JavaBean对象指南

《SpringMVC高效获取JavaBean对象指南》SpringMVC通过数据绑定自动将请求参数映射到JavaBean,支持表单、URL及JSON数据,需用@ModelAttribute、@Requ... 目录Spring MVC 获取 JavaBean 对象指南核心机制:数据绑定实现步骤1. 定义 Ja

javax.net.ssl.SSLHandshakeException:异常原因及解决方案

《javax.net.ssl.SSLHandshakeException:异常原因及解决方案》javax.net.ssl.SSLHandshakeException是一个SSL握手异常,通常在建立SS... 目录报错原因在程序中绕过服务器的安全验证注意点最后多说一句报错原因一般出现这种问题是因为目标服务器

Java实现删除文件中的指定内容

《Java实现删除文件中的指定内容》在日常开发中,经常需要对文本文件进行批量处理,其中,删除文件中指定内容是最常见的需求之一,下面我们就来看看如何使用java实现删除文件中的指定内容吧... 目录1. 项目背景详细介绍2. 项目需求详细介绍2.1 功能需求2.2 非功能需求3. 相关技术详细介绍3.1 Ja

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再