当前位置: 首页 > news >正文

基于Springboot+UniApp+Ai实现模拟面试小工具二:后端项目搭建

  本节介绍本项目后端项目的开发工具及基础项目的搭建,包括开发工具介绍及后端项目的创建和依赖框架的引入及对应配置。
在这里插入图片描述
源码下载: 点击下载
讲解视频:

Uniapp+Springboot+Kimi实现模拟面试小程序-Springboot项目创建

一.开发工具

1.1 开发工具

  • 前端: Visual Studio Code
  • 后端: IntelliJ IDEA Community Edition 2024.2.1
  • 移动端: HBuilderX/微信开发者工具

1.2 运行环境

  • 前端:
    1. nodejs v20.17.0
    2. npm 10.8.2
    3. vue3
  • 后端:
    1. jdk8
    2. mysql 8.0
    3. springboot 3.4.0
  • 移动端:
    1. uniapp
    2. 微信小程序

1.3 第三方资源

  使用kimi开发者平台,网址:https://platform.moonshot.cn/docs/api/chat#%E5%85%AC%E5%BC%80%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%9C%B0%E5%9D%80
  需注册账号并创建项目:
在这里插入图片描述
  创建apikey:
在这里插入图片描述

二.项目搭建

2.1 项目创建

  使用spring官网工具创建maven项目,路径:https://start.spring.io/
在这里插入图片描述
添加依赖项:
在这里插入图片描述
添加完依赖后导出pom文件:
在这里插入图片描述
导出后将项目导入idea,并进行maven导入:
在这里插入图片描述

2.2 依赖库引入

  项目依赖maven创建,具体如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.4.0-SNAPSHOT</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.junjunjun</groupId><artifactId>aiwork</artifactId><version>0.0.1-SNAPSHOT</version><name>aiwork</name><description>人工智能模拟面试小工具</description><url/><licenses><license/></licenses><developers><developer/></developers><scm><connection/><developerConnection/><tag/><url/></scm><properties><java.version>17</java.version><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-oauth2-resource-server</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency><dependency><groupId>org.hibernate.validator</groupId><artifactId>hibernate-validator</artifactId><version>6.2.0.Final</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.33</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-spring-boot3-starter</artifactId><version>3.5.9</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-jsqlparser</artifactId><version>3.5.9</version></dependency><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.25</version></dependency><dependency><groupId>com.squareup.okhttp3</groupId><artifactId>okhttp</artifactId><version>4.10.0</version></dependency><dependency><groupId>com.squareup.okhttp3</groupId><artifactId>okhttp-sse</artifactId><version>4.10.0</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.security</groupId><artifactId>spring-security-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.codehaus.mojo</groupId><artifactId>build-helper-maven-plugin</artifactId><version>3.2.0</version><executions><execution><id>add-source</id><phase>generate-sources</phase><goals><goal>add-source</goal></goals><configuration><sources><source>src/main/java</source><source>src/main/api</source><source>src/main/dao</source><source>src/main/entity</source><source>src/main/sdk</source><source>src/main/vo</source><source>src/main/service</source><!-- 你可以添加更多的源代码目录 --></sources></configuration></execution></executions></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin>
<!--			<plugin>-->
<!--				<groupId>org.apache.maven.plugins</groupId>-->
<!--				<artifactId>maven-compiler-plugin</artifactId>-->
<!--				<configuration>-->
<!--					<source>17</source>-->
<!--					<target>17</target>-->
<!--				</configuration>-->
<!--			</plugin>--></plugins><resources><resource><directory>src/main/resources</directory></resource></resources></build><repositories><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></repository><repository><id>spring-snapshots</id><name>Spring Snapshots</name><url>https://repo.spring.io/snapshot</url><releases><enabled>false</enabled></releases></repository><repository><id>snapshots</id><url>https://oss.sonatype.org/content/repositories/snapshots/</url></repository></repositories><pluginRepositories><pluginRepository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></pluginRepository><pluginRepository><id>spring-snapshots</id><name>Spring Snapshots</name><url>https://repo.spring.io/snapshot</url><releases><enabled>false</enabled></releases></pluginRepository></pluginRepositories></project>

2.3 项目结构

  创建相关项目包,包括api/service/dao/vo/entity/等项目包,具体项目结构如下:
在这里插入图片描述

2.4 数据库表

/*Navicat Premium Data TransferSource Server         : localhostSource Server Type    : MySQLSource Server Version : 80028Source Host           : localhost:3306Source Schema         : ai_workTarget Server Type    : MySQLTarget Server Version : 80028File Encoding         : 65001Date: 11/07/2025 21:12:48
*/SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- ----------------------------
-- Table structure for junjunjun_interview
-- ----------------------------
DROP TABLE IF EXISTS `junjunjun_interview`;
CREATE TABLE `junjunjun_interview`  (`id` bigint NOT NULL AUTO_INCREMENT,`deleted` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '0',`date` datetime NOT NULL,`job` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,`user` bigint NULL DEFAULT NULL,`resume` bigint NULL DEFAULT NULL,`result` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,`scope` double NULL DEFAULT 0,`status` varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '1',`type` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE,UNIQUE INDEX `user_account`(`date` ASC) USING BTREE,INDEX `user`(`user` ASC) USING BTREE,INDEX `resume`(`resume` ASC) USING BTREE,CONSTRAINT `junjunjun_interview_ibfk_1` FOREIGN KEY (`user`) REFERENCES `junjunjun_user` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,CONSTRAINT `junjunjun_interview_ibfk_2` FOREIGN KEY (`resume`) REFERENCES `junjunjun_resume` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 128 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Table structure for junjunjun_log
-- ----------------------------
DROP TABLE IF EXISTS `junjunjun_log`;
CREATE TABLE `junjunjun_log`  (`id` bigint NOT NULL AUTO_INCREMENT,`deleted` int NOT NULL DEFAULT 0,`date` datetime NOT NULL,`title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`username` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`param` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`target` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`ip` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`requestmethod` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`method` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 151 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Table structure for junjunjun_menu
-- ----------------------------
DROP TABLE IF EXISTS `junjunjun_menu`;
CREATE TABLE `junjunjun_menu`  (`id` bigint NOT NULL AUTO_INCREMENT,`deleted` int NOT NULL DEFAULT 0,`icon` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,`compontent` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`type` varchar(2) CHARACTER SET utf16le COLLATE utf16le_general_ci NULL DEFAULT NULL,`sort_` int NULL DEFAULT NULL,`url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`parent_id` bigint NULL DEFAULT NULL,`permission` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE,INDEX `parent_id`(`parent_id` ASC) USING BTREE,CONSTRAINT `junjunjun_menu_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `junjunjun_menu` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 41 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Table structure for junjunjun_question_item
-- ----------------------------
DROP TABLE IF EXISTS `junjunjun_question_item`;
CREATE TABLE `junjunjun_question_item`  (`id` bigint NOT NULL AUTO_INCREMENT,`deleted` int NOT NULL DEFAULT 0,`question` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,`answer` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`interview` bigint NOT NULL,PRIMARY KEY (`id`) USING BTREE,INDEX `junjunjun_question_item_ibfk_1`(`interview` ASC) USING BTREE,CONSTRAINT `junjunjun_question_item_ibfk_1` FOREIGN KEY (`interview`) REFERENCES `junjunjun_interview` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 110 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Table structure for junjunjun_resume
-- ----------------------------
DROP TABLE IF EXISTS `junjunjun_resume`;
CREATE TABLE `junjunjun_resume`  (`id` bigint NOT NULL AUTO_INCREMENT,`deleted` int NOT NULL DEFAULT 0,`file` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`tag` varchar(255) CHARACTER SET utf16le COLLATE utf16le_general_ci NULL DEFAULT NULL,`create_date` datetime NULL DEFAULT NULL,`user_id` bigint NULL DEFAULT NULL,`fileinfo` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,`content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,PRIMARY KEY (`id`) USING BTREE,UNIQUE INDEX `user_account`(`file` ASC) USING BTREE,INDEX `junjunjun_resume_ibfk_1`(`user_id` ASC) USING BTREE,CONSTRAINT `junjunjun_resume_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `junjunjun_user` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Table structure for junjunjun_role
-- ----------------------------
DROP TABLE IF EXISTS `junjunjun_role`;
CREATE TABLE `junjunjun_role`  (`id` bigint NOT NULL AUTO_INCREMENT,`deleted` int NOT NULL DEFAULT 0,`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`permission` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Table structure for junjunjun_role_menu_item
-- ----------------------------
DROP TABLE IF EXISTS `junjunjun_role_menu_item`;
CREATE TABLE `junjunjun_role_menu_item`  (`id` bigint NOT NULL AUTO_INCREMENT,`deleted` int NOT NULL DEFAULT 0,`menu_id` bigint NOT NULL,`role_id` bigint NOT NULL,PRIMARY KEY (`id`) USING BTREE,UNIQUE INDEX `user_roel`(`menu_id` ASC, `role_id` ASC) USING BTREE,INDEX `role_id`(`role_id` ASC) USING BTREE,CONSTRAINT `junjunjun_role_menu_item_ibfk_1` FOREIGN KEY (`menu_id`) REFERENCES `junjunjun_menu` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,CONSTRAINT `junjunjun_role_menu_item_ibfk_2` FOREIGN KEY (`role_id`) REFERENCES `junjunjun_role` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 87 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Table structure for junjunjun_setting
-- ----------------------------
DROP TABLE IF EXISTS `junjunjun_setting`;
CREATE TABLE `junjunjun_setting`  (`id` bigint NOT NULL AUTO_INCREMENT,`deleted` int NOT NULL DEFAULT 0,`key_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,`value` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Table structure for junjunjun_user
-- ----------------------------
DROP TABLE IF EXISTS `junjunjun_user`;
CREATE TABLE `junjunjun_user`  (`id` bigint NOT NULL AUTO_INCREMENT,`deleted` int NOT NULL DEFAULT 0,`account` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`header` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`sex` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,`openid` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`permission` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE,UNIQUE INDEX `user_account`(`account` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 36 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Table structure for junjunjun_user_role_item
-- ----------------------------
DROP TABLE IF EXISTS `junjunjun_user_role_item`;
CREATE TABLE `junjunjun_user_role_item`  (`id` bigint NOT NULL AUTO_INCREMENT,`deleted` int NOT NULL DEFAULT 0,`user_id` bigint NOT NULL,`role_id` bigint NOT NULL,PRIMARY KEY (`id`) USING BTREE,UNIQUE INDEX `user_roel`(`user_id` ASC, `role_id` ASC) USING BTREE,INDEX `role_id`(`role_id` ASC) USING BTREE,CONSTRAINT `junjunjun_user_role_item_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `junjunjun_user` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,CONSTRAINT `junjunjun_user_role_item_ibfk_2` FOREIGN KEY (`role_id`) REFERENCES `junjunjun_role` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 19 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;SET FOREIGN_KEY_CHECKS = 1;
http://www.lryc.cn/news/585018.html

相关文章:

  • 【数据结构与算法】203.移除链表元素(LeetCode)图文详解
  • doker和网站部署
  • LeetCode--43.字符串相乘
  • Kotlin 常用语法糖完整整理
  • 九联UNT403AS_S905L3SB当贝固件优盘刷机包下载
  • 9、鸿蒙Harmony Next开发:栅格布局 (GridRow/GridCol)
  • AI产品经理面试宝典第7天:核心算法面试题-上
  • 在 Spring Boot 中使用 WebMvcConfigurer
  • AI技术正以前所未有的速度重塑职业生态与行业格局,尤其在自动化测试领域,AI驱动的测试框架通过智能化、低代码化重构传统测试流程。
  • python solr数据导出脚本
  • 分割网络Segformer
  • 界面组件DevExpress WPF中文教程:Grid - 如何检查节点?
  • mongodb 开源同步工具介绍
  • Windows 应用程序的 UI 框架:WPF、WinUI 3 和 UWP的差异区别
  • Django--02模型和管理站点
  • 【三】ObservableCollection 与 List 的区别
  • 【EGSR2025】材质+扩散模型+神经网络相关论文整理随笔(四)
  • (二)OpenCV——边缘增强与检测
  • 大数据在UI前端的应用创新:基于用户反馈的产品迭代优化系统
  • PPT处理控件Aspose.Slides教程:使用 C# 将 PPTX 转换为 EMF
  • 游戏的程序员会不会偷偷改自己账号的数据?
  • TypeScript---class类型
  • 工业通信升级新选择:耐达讯CCLINKIE转Modbus TCP网关
  • 猿人学js逆向比赛第一届第十九题
  • U-Net网络学习笔记(1)
  • 2025亚太中文赛项 B题疾病的预测与大数据分析保姆级教程思路分析
  • 机器学习数据集加载全攻略:从本地到网络
  • 【读代码】开源音乐分离工具Spleeter
  • 深度学习14(循环神经网络)
  • 深度学习篇---昇腾NPUCANN 工具包