• 这是一个智能oj判题项目,采用SpringBoot单体架构开发

application.yml 配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
server:
port: 8080
spring:
datasource:
url: jdbc:mysql://localhost:3306/minioj?useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=utf-8
username:
password:
driver-class-name: com.mysql.cj.jdbc.Driver
servlet:
multipart:
max-file-size: 10MB
max-request-size: 10MB
# 开启 SQL 显示(调试用)
logging:
level:
root: info
com.minioj.repository: debug
  • servlet写限制文件传输大小,max-file-size指单个文件最大限制,max-request-size指请求体的最大限制

基础架构

  • controller
  • service
  • repository
  • model

model

  • 创建实体User.java
1
2
3
4
5
6
7
8
9
10
11
12
package com.explainsf.minoroj.model;

import lombok.Data;
import java.sql.Timestamp;

@Data
public class User {
private Integer id;
private String username;
private String password;
private Timestamp createdAt;
}
  • 问答:
    • Q:timestamp有什么用?
    • A:Timestamp 是 Java 中处理**时间戳(日期时间)**的类之一,主要用于表示数据库中的 DATETIME 或 TIMESTAMP 字段,表示用户的注册时间,由数据库自动记录插入时间。

repository 数据库操作类

  • 创建数据库操作类UserRepository.java

  • 问答:

    • Q:@Repository注解有什么用?
    • A:是一个标记数据访问层(DAO层)的注解,Spring 会 自动将标注了@Repository的类注册为Bean