day7/2

8 阅读5分钟

day7/2

数据库引入

学号姓名性别电话住址
1001tony1897485969陕西西安

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数据类型,自增的
	字段名 数据类型 约束,
	字段名 数据类型 约束,
)

创建数据库

数据库右键新建查询

imageimage

输入代码,选中要执行的代码,然后运行已选中的代码

--建表
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
);

表右键,刷新表即可看见创建的新表

image

创建,更新,删除操作示例

-- 插入数据示例
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,插件版本一致

image

修改pom.xml

配置pom.xml

image

<?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环境

image

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依赖

image

使用spring链接数据库

创建application.yml

image

注意缩进使用

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

image