2026.6.15

MySQL安装、JDBC连接与注册功能
SQL脚本

CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;-- 指定字符集为 utf8mb4
USE weitoutiao;-- 进入微头条这个数据库
CREATE TABLE `user` (-- 创建user表格存放用户信息
    `id` INT PRIMARY KEY AUTO_INCREMENT,-- id列:用户的唯一编号。INT是整数类型;PRIMARY KEY表示它是主键(相当于身份证号,绝对不能重复);自增,不用手动填编号
    `username` VARCHAR(50) NOT NULL UNIQUE,-- 字符不超过50;不能为空;不能重复
    `password` VARCHAR(100) NOT NULL,
    `role` VARCHAR(20) DEFAULT 'user',-- 默认是user
    `news_count` INT DEFAULT 0,
    `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP
);

创建Maven项目,添加MySQL驱动

<dependencies><!-- 【依赖管理区】这里用来声明当前项目需要用到哪些第三方工具包 -->
        <dependency><!-- 声明一个具体的依赖项-->
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId><!--JDBC驱动,连接数据库-->
            <version>8.0.33</version>
        </dependency>
    </dependencies>

JDBC实现登录
1.创建news表

CREATE TABLE `news` (-- 创建名为 news 的表
    `id` INT PRIMARY KEY AUTO_INCREMENT,-- 【主键】定义 id 字段,类型为整数,设为主键并开启自增
    `user_id` INT NOT NULL,--记录这条新闻是由哪个用户发布的,关联 user 表的 id
    `title` VARCHAR(200) NOT NULL, -- 【标题】
    `content` TEXT, -- 【正文】定义 content 字段,文本类型
    `publish_time` DATETIME DEFAULT CURRENT_TIMESTAMP,--【发布时间】定义 publish_time 字段,日期时间类型
    `view_count` INT DEFAULT 0,-- 【浏览量】默认为 0,后续可通过 UPDATE 语句累加
    FOREIGN KEY (`user_id`) REFERENCES `user`(`id`)-- 【外键约束】建立 user_id 与 user 表 id 之间的关联,确保发布的 user_id 必须在 user 表中真实存在
);

2.创建News实体类

package com.weitoutiao.entity;// 【包声明】表明该类属于 entity(实体)层

import java.time.LocalDateTime;// 【导入包】引入 Java 8 的时间处理类,对应数据库中的 DATETIME 类型

public class News {// News 实体类,对应数据库中的 news 表
    private Integer id; // 【主键】对应表中的 id 字段
    private Integer userId;// 【外键】对应表中的 user_id 字段,表示发布该新闻的用户ID
    private String title;// 存储新闻的简短标题
    private String content; // 存储新闻的详细内容
    private LocalDateTime publishTime;  //使用 LocalDateTime精确匹配数据库的DATETIME格式
    private Integer viewCount;// 统计该新闻被查看的次数

}
posted @ 2026-06-29 20:37  Daisy!  阅读(4)  评论(0)    收藏  举报