day7/2
数据库引入
学号 | 姓名 | 性别 | 电话 | 住址 |
---|---|---|---|---|
1001 | tony | 男 | 1897485969 | 陕西西安 |
MySQL数据库8.0+
学生表[表名]保存到库一个库中有很多的表
一个库中有多张表,一个表中保存多条记录
表[表名]+表结构【列名以及对应的数据类型】
数据库中常用的数据类型
整形Int
小数点型float,double
保存字符的varchar,char告知字符的长度是多少
保存的是英文:
保存中文:和字符编码UTF-8 3个长度
gbk 2
varchar(2o):可变长度 a
char(20)固定长度 a
日期:date:年月日
time:时分秒
datetime:年月日时分秒
一个表,肯定是要有一个主键【primarykeyPK】一个表只能有一个主键,但是这个主键,不一定只有一列,可以由多列组成[一般最多
也就是两列]。
表中的约束
主键:一个表,肯定是要有一个主键【primarykeyPK】一个表只能有一个主键。但是这个主键。不一定只有一列。可以由多列组成[一
般最多也就是两列]。主键能选一列不选两列。主键在实际开发的时候,最少更改,没有业务意义。主键可以交给数据库维护【主键自
增】。可可以由程序员自己维护,UUID雪花ID。
外键:[重难点]
--建表
create database 库名:
--使用库
use 库名:
--建表
create table 表名(
tab_pk int primary key auto_increment,--主键,int数据类型,自增的
字段名 数据类型 约束,
字段名 数据类型 约束,
)
创建数据库
数据库右键新建查询
输入代码,选中要执行的代码,然后运行已选中的代码
--建表
create database db0723:
--使用库
use db0723:
--建表
CREATE TABLE tb_students (
stu_id INT PRIMARY KEY AUTO_INCREMENT, -- 自增主键
stu_number VARCHAR(20) UNIQUE NOT NULL, -- 学号,唯一性约束
stu_sex CHAR(10),
stu_phone VARCHAR(50),
stu_address VARCHAR(200),
stu_born DATE
);
表右键,刷新表即可看见创建的新表
创建,更新,删除操作示例
-- 插入数据示例
INSERT INTO tb_students (stu_number, stu_sex, stu_phone, stu_address, stu_born)
VALUES
('2023001', '男', '13800138001', '北京市海淀区', '2000-01-01'),
('2023002', '女', '13900139002', '上海市浦东新区', '2001-02-15'),
('2023003', '男', '13700137003', '广东省广州市天河区', '2000-09-20');
-- 更新数据示例
-- 将学号为2023002的学生电话号码更新
UPDATE tb_students
SET stu_phone = '13600136002'
WHERE stu_number = '2023002';
-- 将所有学生的地址统一添加"中国"前缀
UPDATE tb_students
SET stu_address = CONCAT('中国', stu_address);
-- 删除数据示例
-- 删除学号为2023003的学生记录
DELETE FROM tb_students
WHERE stu_number = '2023003';
-- 清空表中所有数据(谨慎使用)
DELETE FROM tb_students;
创建maven项目
注意使用jdk17,插件版本一致
修改pom.xml
配置pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- 父工程 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.6</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!-- 项目坐标 -->
<groupId>org.example</groupId>
<artifactId>web0702</artifactId>
<version>1.0-SNAPSHOT</version>
<name>web0702</name>
<description>A Spring Boot project for web application</description>
<!-- 配置 -->
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!-- 依赖 -->
<dependencies>
<!-- Web 核心 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 测试 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- MyBatis-Plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
<!-- MySQL 驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.31</version> <!-- 显式指定版本 -->
</dependency>
<!-- 验证码 -->
<dependency>
<groupId>com.pig4cloud.plugin</groupId>
<artifactId>easy-captcha</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<version>2.7.6</version> <!-- 与 web 依赖版本一致 -->
</dependency>
</dependencies>
<!-- 构建配置 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!-- 可选:添加版本与父工程保持一致 -->
<version>2.7.6</version>
</plugin>
</plugins>
</build>
</project>
pom元素顺序
元素顺序:Maven 的 pom.xml
元素有约定的顺序(推荐按 groupId
-> artifactId
-> version
-> name
-> description
-> properties
-> dependencies
-> build
排列),目前 build
标签在 groupId
等坐标之前,虽然不影响功能,但建议调整顺序以符合规范:xml
<!-- 正确顺序示例 -->
<groupId>org.example</groupId>
<artifactId>web0702</artifactId>
<version>1.0-SNAPSHOT</version>
<name>web0702</name> <!-- 可选:添加项目名称,增强可读性 -->
<description>项目描述</description> <!-- 可选:添加项目描述 -->
<properties>...</properties>
<dependencies>...</dependencies>
<build>...</build>
配置IDEA使用本地maven环境
1. 打开设置
在 IDEA 中,点击顶部菜单栏的 File
-> Settings
(Windows/Linux)或 IntelliJ IDEA
-> Settings
(Mac);也可按 Ctrl + Alt + S
(Windows/Linux)、Command + ,
(Mac)快速打开。
2. 找到 Maven 配置项
在设置窗口左侧,展开 Build, Execution, Deployment
-> Build Tools
-> Maven
。
3. 配置 Maven 主路径
在右侧 Maven home path
(Maven 主路径)下拉框,选择 Local
,然后点击后面的 ...
按钮,在弹出文件选择框中,找到本地 Maven 安装目录(比如你本地 Maven 放在 D:\Maven\apache - maven - 3.8.8
,就选到这个目录 ),选中后确认。这样就指定了使用本地安装的 Maven,而非 Maven 包装器。
4. 确认用户设置文件和本地仓库
- 用户设置文件:一般就是 Maven 安装目录下
conf\settings.xml
,若之前有自定义配置,确保路径正确,也可重新选择。 - 本地仓库:会自动识别
settings.xml
中配置的本地仓库路径(如你设置的D:\Maven\Repository38
),若需修改也可手动指定。
5. 应用并保存设置
点击设置窗口右下角 Apply
(应用)和 OK
(确定)按钮,使配置生效。之后 IDEA 就会使用你本地的 Maven 环境进行项目构建等操作啦,之前因找不到 maven - wrapper.properties
出现的提示也会相应改变 。
在resources文件夹下创建application.yml
可在maven处刷新maven依赖
使用spring链接数据库
创建application.yml
注意缩进使用
spring:
datasource:
url: jdbc:mysql://localhost:3306/group_buying_db?characterEncoding=utf-8&serverTimezone=Asia/Shanghai
driver-class-name: com.mysql.cj.jdbc.Driver # MySQL 8.x 必须使用此驱动类
username: root
password: # 若数据库无密码,留空即可(确保 MySQL 允许 root 无密码登录)
修改main程序
package org.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication // 关键注解:开启自动配置(包括 Web 服务器)
public class Main {
public static void main(String[] args) {
SpringApplication.run(Main.class, args); // 启动 Spring 容器
}
}
运行项目
成功运行springboot程序,且链接到mysql