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;// 统计该新闻被查看的次数
}

浙公网安备 33010602011771号