# 配置文件实体类restful等基础仓库 **Repository Path**: testing-category/Configuration-file-entity-class ## Basic Information - **Project Name**: 配置文件实体类restful等基础仓库 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-06 - **Last Updated**: 2025-07-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Demo3 - 基础登录注册系统 ## 项目简介 这是一个基于Spring Boot 3.5.3的RESTful风格登录注册系统,使用MyBatis作为ORM框架,MySQL作为数据库。 ## 技术栈 - **Spring Boot 3.5.3** - 核心框架 - **MyBatis 3.0.3** - ORM框架 - **MySQL 8.0+** - 数据库 - **Spring Security** - 安全框架(已配置为允许所有请求) - **BCrypt** - 密码加密 - **Lombok** - 简化Java代码 - **Jakarta Validation** - 参数验证 ## 数据库设计 ### 用户表 (users) | 字段 | 类型 | 说明 | |------|------|------| | id | BIGINT | 用户ID(主键,自增) | | username | VARCHAR(50) | 用户名(唯一) | | password | VARCHAR(100) | 密码(BCrypt加密) | | email | VARCHAR(100) | 邮箱(唯一) | | phone | VARCHAR(20) | 手机号 | | nickname | VARCHAR(50) | 昵称 | | avatar | VARCHAR(255) | 头像URL | | status | TINYINT | 状态(1-正常,0-禁用) | | create_time | TIMESTAMP | 创建时间 | | update_time | TIMESTAMP | 更新时间 | ## 项目结构 ``` src/main/java/com/itheima/demo3/ ├── config/ # 配置类 │ └── SecurityConfig.java ├── controller/ # 控制器 │ └── AuthController.java ├── dto/ # 数据传输对象 │ ├── ApiResponse.java │ ├── LoginRequest.java │ └── RegisterRequest.java ├── entity/ # 实体类 │ └── User.java ├── mapper/ # MyBatis映射器 │ └── UserMapper.java ├── service/ # 服务层 │ └── UserService.java └── Demo3Application.java ``` ## 配置说明 ### 数据库配置 ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/demo3_db?useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=utf8 username: root password: JJkqazwsx87166++ driver-class-name: com.mysql.cj.jdbc.Driver ``` ### MyBatis配置 ```yaml mybatis: mapper-locations: classpath:mapper/*.xml type-aliases-package: com.itheima.demo3.entity configuration: map-underscore-to-camel-case: true ``` ## API接口文档 ### 基础URL ``` http://localhost:8080/api/auth ``` ### 1. 用户注册 **POST** `/register` **请求体:** ```json { "username": "testuser", "password": "password123", "email": "test@example.com", "phone": "13800138000", "nickname": "测试用户" } ``` **响应:** ```json { "code": 200, "message": "Success", "data": "User registered successfully" } ``` ### 2. 用户登录 **POST** `/login` **请求体:** ```json { "username": "testuser", "password": "password123" } ``` **响应:** ```json { "code": 200, "message": "Success", "data": { "message": "Login successful", "user": { "id": 1, "username": "testuser", "email": "test@example.com", "nickname": "测试用户", "phone": "13800138000", "avatar": null, "createTime": "2024-01-01T10:00:00" } } } ``` ### 3. 获取用户信息 **GET** `/user/{username}` **响应:** ```json { "code": 200, "message": "Success", "data": { "id": 1, "username": "testuser", "email": "test@example.com", "nickname": "测试用户", "phone": "13800138000", "avatar": null, "status": 1, "createTime": "2024-01-01T10:00:00", "updateTime": "2024-01-01T10:00:00" } } ``` ### 4. 健康检查 **GET** `/health` **响应:** ```json { "code": 200, "message": "Success", "data": "Service is running" } ``` ## 快速开始 ### 1. 数据库准备 执行项目根目录下的 `database.sql` 文件来创建数据库和表: ```sql mysql -u root -p < database.sql ``` ### 2. 启动应用 ```bash mvn spring-boot:run ``` ### 3. 使用Postman测试 #### 注册用户 - URL: `POST http://localhost:8080/api/auth/register` - Headers: `Content-Type: application/json` - Body: ```json { "username": "newuser", "password": "123456", "email": "newuser@example.com", "nickname": "新用户" } ``` #### 登录 - URL: `POST http://localhost:8080/api/auth/login` - Headers: `Content-Type: application/json` - Body: ```json { "username": "newuser", "password": "123456" } ``` #### 获取用户信息 - URL: `GET http://localhost:8080/api/auth/user/newuser` #### 健康检查 - URL: `GET http://localhost:8080/api/auth/health` ## 注意事项 1. 数据库密码已配置为 `JJkqazwsx87166++` 2. 项目目前已禁用Spring Security认证,所有API可直接访问 3. 用户密码使用BCrypt加密存储 4. 项目运行在8080端口 5. 所有API响应都使用统一的ApiResponse格式 ## 后续扩展 - 添加JWT令牌认证 - 实现用户角色权限管理 - 添加用户头像上传功能 - 实现密码重置功能 - 添加用户信息修改接口