1. 项目概述:Spring Boot与人脸识别数据库设计
在开发人脸识别系统时,数据存储方案直接影响着系统性能和扩展性。Spring Boot作为Java生态中最流行的应用框架,与关系型数据库的整合有着天然优势。我曾主导过一个考勤系统的人脸识别模块开发,其中MySQL数据库设计经历了三次迭代才最终定型。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心数据模型设计
2.1 用户基础表结构
sql复制CREATE TABLE `user` (
`id` bigint NOT NULL AUTO_INCREMENT,
`username` varchar(64) NOT NULL COMMENT '工号/学号',
`real_name` varchar(32) NOT NULL COMMENT '真实姓名',
`department` varchar(64) DEFAULT NULL COMMENT '所属部门',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `idx_username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
这个基础用户表需要注意:
- 使用utf8mb4字符集支持完整Unicode(包括emoji)
- 工号/学号建立唯一索引避免重复
- 自动维护创建和更新时间戳
2.2 人脸特征表设计要点
sql复制CREATE TABLE `face_feature` (
`id` bigint NOT NULL AUTO_INCREMENT,
`user_id` bigint NOT NULL,
`feature_data` blob NOT NULL COMMENT '512维浮点数组',
`image_url` varchar(255) NOT NULL COMMENT '原始图片路径',
`versio
