摘  要

随着互联网技术的迅猛发展,在线学习平台已经成为教育领域的重要组成部分。书法作为中国传统文化的重要组成部分,其数字化转型对于传承和弘扬传统文化具有重要意义。然而,传统的书法教学方式存在资源有限、学习过程单调等问题,难以满足现代学习者的需求。因此,开发一个基于Spring Boot的趣味书法学习平台,通过技术创新和趣味教学,提升书法学习的趣味性和效率。

本平台采用Spring Boot作为核心框架,结合MVC架构模式,实现前后端分离,确保系统的可维护性和扩展性。平台主要功能模块包括用户管理、课程学习、趣味教学、作品展示与交流、个性化推荐等。用户可以通过注册登录,浏览并选择感兴趣的书法课程,参与在线学习和练习。同时,平台设计了趣味教学模块,通过游戏化元素和互动活动,激发学习者的学习兴趣。此外,用户还可以上传自己的书法作品,参与评论和交流,形成一个互动良好的学习社区。

系统设计过程中,充分考虑了经济可行性、操作可行性和技术可行性。通过详细的需求分析,确定了平台的核心功能和性能指标。数据库设计方面,采用了规范化的设计原则,确保数据的完整性和一致性。系统架构设计则注重模块化,使得系统易于维护和扩展。

本平台不仅为书法爱好者提供了一个便捷的学习平台,也为传统文化的数字化转型提供了新的思路。通过趣味教学和个性化推荐,平台能够有效提升用户的学习体验和学习效果。未来,平台将进一步优化功能模块,引入更多先进技术,以提供更丰富的学习资源和更沉浸的学习体验。

关键词:Spring Boot、书法学习平台、趣味教学、在线学习

Abstract

With the rapid development of Internet technology, online learning platform has become an important part of education. Calligraphy, as an important component of traditional Chinese culture, its digital transformation is of great significance for inheriting and promoting traditional culture. However, traditional calligraphy teaching methods have problems such as limited resources and monotonous learning processes, which are difficult to meet the needs of modern learners. Therefore, develop a fun calligraphy learning platform based on Spring Boot, enhance the fun and efficiency of calligraphy learning through technological innovation and fun teaching.

This platform adopts Spring Boot as the core framework, combined with the MVC architecture pattern, to achieve front-end and back-end separation, ensuring the maintainability and scalability of the system. The main functional modules of the platform include user management, course learning, fun teaching, work display and communication, personalized recommendations, etc. Users can register and log in, browse and select calligraphy courses of interest, and participate in online learning and practice. At the same time, the platform has designed a fun teaching module that stimulates learners' interest in learning through gamification elements and interactive activities. In addition, users can also upload their calligraphy works, participate in comments and exchanges, and form an interactive learning community.

During the system design process, full consideration was given to economic feasibility, operational feasibility, and technical feasibility. Through detailed requirement analysis, the core functions and performance indicators of the platform have been determined. In terms of database design, standardized design principles are adopted to ensure data integrity and consistency. The system architecture design focuses on modularity, making the system easy to maintain and expand.

This platform not only provides a convenient learning platform for calligraphy enthusiasts, but also offers new ideas for the digital transformation of traditional culture. Through fun teaching and personalized recommendations, the platform can effectively enhance users' learning experience and effectiveness. In the future, the platform will further optimize its functional modules and introduce more advanced technologies such as artificial intelligence and virtual reality to provide richer learning resources and more immersive learning experiences.

Keywords: Spring Boot、 Calligraphy learning platform, fun teaching, online learning

 

1 前  言

1.1 研究背景和意义

1.2国内外研究现状

1.3 主要研究内容

1.4论文结构与章节安排

2 开发技术与环境配置

2.1  SpringBoot框架

 2.2  Java

2.3  MySQL环境配置

2.4  MyEclipse环境配置

2.5  MYSQL

2.6  B/S架构

3 系统分析与设计

3.1 可行性分析

3.2  需求分析

3.3系统性能分析

3.4平台流程分析

4系统设计

4.1系统架构设计

4.2功能模块设计

4.3 数据库设计

5  平台功能的具体实现

5.1用户功能模块

5.2 管理员功能模块

6系统测试

6.1系统测试的目的

6.2系统测试用例

6.3系统测试结果

结 论

参考文献

致 谢

前  言

  1. 研究背景和意义


 1.1.1研究背景

·随着人们生活水平的提高,对精神文化的追求日益增长,书法作为中国传统文化瑰宝,其学习需求也在不断扩大。然而,传统的书法学习方式往往受限于地域、时间和师资力量,难以满足广大书法爱好者的需求。通过在线平台,可以打破这些限制,让更多人有机会接触和学习书法。近年来,新兴技术不断融入教育领域,推动了教育模式的创新。在线学习平台借助这些技术,可以实现个性化教学、评估等功能,为学习者提供更加精准和高效的学习体验。书法学习平台若能有效利用这些技术,将为传统文化的传承和发展注入新的活力。

 1.1.2 研究意义

书法作为中华文化的精髓,其传承与发展至关重要。通过构建一个集学习、交流、展示于一体的在线平台,可以吸引更多年轻人关注和参与书法学习,为传统文化的传承开辟新的途径。同时,平台可以融入现代设计元素和互动方式,实现传统与现代的融合创新。传统书法教学往往采用统一的教学方式,难以兼顾不同学习者的需求和水平。基于Spring Boot框架开发的平台能够利用数据分析技术,为每位用户量身定制学习路径,提供个性化的学习建议和练习内容,从而提高学习效果

目前,艺术教育领域正朝着多元化、互动化的方向发展。书法学习平台可以借鉴其他艺术教育平台的成功经验,引入虚拟现实、增强现实等新兴技术,打造沉浸式的学习环境,为学习者提供更加丰富的学习体验。在线平台打破了地域和时间的限制,使得偏远地区和特殊群体的学习者也能获得优质的教育资源。这对于促进教育公平、缩小城乡教育差距具有重要意义。

 1.2国内外研究现状

 1.2.1国内研究现状

近年来,信息技术的迅猛发展为书法教育带来了全新的机遇。国内众多教育机构和科技公司纷纷探索书法教育与数字化技术的结合,力求创新教学模式和平台建设。然而,尽管取得了一定成果,这些尝试仍面临不少挑战。

功能单一、缺乏系统性和互动性是当前书法教育数字化产品的主要问题。一些高校推出的在线书法课程和企业开发的书法练习APP,虽尝试融入数字化元素,但大多功能较为单一,未能形成完整的教学体系。刘春梅指出,“互联网+”时代的大学书法教学在课程设计方面仍有待加强,缺乏系统性的学习路径[1]。王斌也提到,当前书法课堂的信息技术应用虽有所提升,但互动性和趣味性依然不足,难以满足学习者的多元化需求[2]。郭淑娟进一步强调,职业学校中的书法学习同样存在这些问题,提升趣味性仍是当务之急[3]。谢樟等人通过“笔墨留香”APP项目的设计与实践,探讨了数字手段在书法传承中的应用,但也坦言该应用的功能仍需进一步丰富[4]。

目前,国内书法学习平台普遍存在课程内容不够丰富、互动性不足、个性化服务欠缺等短板。随着技术的逐步深入,这些问题正逐步得到解决。

 1.2.2国外研究现状

相比国内,国外在艺术类在线教育领域积累了丰富的经验和众多成功案例。然而,受文化差异影响,专门针对中国书法艺术的教学平台仍显稀缺。尽管如此,一些国家已开始积极致力于传统文化的传承与发展,尝试将书法等传统元素融入现代教育体系。这些国外书法学习平台在用户体验和交互设计方面展现出了一定的参考价值,但在深入挖掘和传承书法文化精髓方面仍有较大提升空间。

在研究与开发方面,尽管国外书法学习平台相对较少,但已有部分研究展现出利用现代技术推动书法教育发展的新思路。Zhuang Y.等人详细阐述了中文毛笔书法字符检索与学习系统的设计和实现,该系统通过图像处理和机器学习技术,为用户提供了一种全新的书法学习体验[5]。同样,Sadikoglu F.和Soroush B.介绍了一个智能波斯书法学习系统,该系统运用人工智能技术,分析用户书写行为并提供个性化反馈,有效提升了学习者的书法技能[6]。尽管这些系统主要针对特定书法类型,但其设计理念和技术应用为书法学习平台的创新提供了有益借鉴。

然而,由于文化差异和语言障碍,这些国外平台在国内的适用性受到限制。特别是在传达中国书法深厚文化底蕴方面,仍需进一步探索和完善。因此,如何在现代教育平台上准确传达书法精髓,成为急需解决的问题。

综上所述,无论是国内还是国外,对趣味书法学习平台的设计与实现都在不断地发展和优化,体现了技术与应用的深度融合,追求更高效、更安全、更可持续的平台运营模式,以满足用户日益多样化的需求。

1.3 主要研究内容

在开发趣味书法学习平台时,后端采用了Java作为编程语言,并利用了SpringBoot框架,这使得复杂的业务逻辑和数据操作得以高效完成。与此同时,系统的数据存储和管理通过MySQL数据库实现。结合Vue.js作为前端框架,具有数据绑定和组件化的特点,能够有效地提升用户体验和开发效率。本平台主要实现包括首页、网站公告、新闻资讯、文创周边、书法作品、学习公告、书法活动 、个人中心(个人首页 、兑换记录、签到记录 、报名记录、收藏、评论管理

)管理员包括后台首页、系统用户、文创周边管理、周边类型管理、兑换记录管理、书法作品管理、书法类型管理、学习公告管理、学习类型管理、签到记录管理、完成任务管理、书法活动管理、报名记录管理、系统管理。

1.4论文结构与章节安排

本文共分为六章,章节内容安排如下:

第一章:前言,主要介绍趣味书法学习平台领域研究的背景和意义,概述国内外研究的现状。

第二章:关键技术,主要探讨和说明实现趣味书法学习平台的关键技术。

第三章:系统分析,主要从趣味书法学习平台的可行性、功能、性能等方面进行分析,为后续系统设计提供理论支持。

第四章:系统设计,主要对趣味书法学习平台功能模块、数据库进行功能设计。

第五章:系统实现,主要介绍了趣味书法学习平台的功能、系统界面的实现。

第六章:系统测试,主要对趣味书法学习平台进行测试,验证功能完整性、稳定性和安全性,评估系统在实际运行中的性能表现。

结束语。总结全文研究内容,提出对趣味书法学习平台领域未来发展的展望和建议,指出研究的不足和可优化之处,为相关领域的进一步探索提供参考。


2 开发技术与环境配置

以Java语言为开发工具,利用了当前先进的springboot框架,以MyEclipse10为系统开发工具,MySQL为后台数据库,开发的趣味书法学习平台。

2.1  SpringBoot框架

作为一款全新的、开放式的微型架构工具,SpringBoot是建立于Spring 4.0之上并延续着该平台的一系列优势功能的基础上的。它不但吸收和融合了之前所有优秀的特质,同时又以优化的方式减少对复杂设置的需求从而降低构建及编码的过程中的难度与繁琐程度[7]。然而在此前使用过spring的人都知道当项目规模逐渐增大的过程中引入的外部JAR越来越多时就会出现不同版本文件间的相互适应的问题;而在这种情况下借助整合大量其他技术组件的功能使之能够有效地避免因外部库之间存在差异所导致的潜在风险就显得尤为重要且实用。

SpringBoot可以看做是Spring的加强版本,但实质上都是Spring的相关技术,有了这些优秀的开源框架,程序员在开发过程中将事半功倍。

 2.2  Java

Java是一种跨平台的编程语言,广泛用于开发各种类型的应用程序,包括Web应用、移动应用和大型软件系统。在学生请假系统中,Java通常用于后端开发,提供强大的处理能力和稳定性。同时Java是一种面向对象的编程语言,支持封装、继承和多态等特性,使代码更易于维护和重用。还拥有丰富的标准库和第三方框架,如Spring、Hibernate等,可以大大提高开发效率。

2.3  MySQL环境配置

第一步需要执行的就是把 MySQL 的数据库软件部署至预设的位置上;若获取了未被装配好的 MySQL 档案并将其展开于该位置即可完成这一步骤。接下来就是通过C:\Program Files\ MySQL \bin\win MySQL admin.exe这项程序来操作——这是因为它位于 MySQL 安装路径下的Program Files中。在此处填写任意字符串作为win mysql admin的默认账户和密钥并不重要(注意不是来自 mysql 的数据库账号及口令哦!);一旦确认后会在电脑底部出现红色与绿色指示器的窗口显示状态信息——当其为红色时表示系统已关闭,而当变为了绿色则表明一切运行良好;只需单击一下那个小标志-> winnt-> install the service以重新安装这些工作,再次点选相同的小标识-> winnt-> start the service以启动我的SQL Server服务器。

接下来,更改mysql数据库的root密码。使用cmd进入命令行模式并使用以下指令:

cd C:\Program Files\MySQL\bin

MySQLadmin -u root -p password 123

enter password :的输入需要回车。在刚开始安装时,密码是空的,因此直接按下回车键,此刻mysql中root账户的密码已经被替换为123。

2.4  MyEclipse环境配置

安装完MyEclipse后选择myeclipse“Window->Preferences”

首先,将myeclipse的jre设定为sun的jdk,而不是使用myeclipse默认的jdk。

选择“java->Installed JREs”,勾中里面的“jdk1.7”。

其次,配置编译的级别为6.0:

选择“Compiler->Compiler compliance level”的值为“6.0”。

其次,设置myeclipse的标准文件编码模式为"UTF-8":

  点击"Genera→WorkSpace", 勾选 "textfileencoding"下的选项"others", 在其内部输入数值"utf-8"作为设定项的参数。

最后,去掉myeclipse的JSP的验证:

选取"MyEclipse-Validation",把"Build"栏中的所有选项取消,这能有效地减少JSP的检查过程,从而大大提高编译效率。

2.5  MYSQL 

MySQL是一种流行的开源关系型数据库管理系统,用于存储和管理数据。在学生请假系统中,MySQL可以用于数据存储、数据查询和数据管理等方面,用户可以免费使用和修改源代码,为平台提供可靠和高性能的数据库支持。MySQL支持多种存储引擎,如InnoDB和MyISAM,可以根据不同的应用场景选择合适的存储引擎,以提高性能;提供了多种数据安全机制,如用户权限管理、数据加密和备份恢复等,确保数据的安全性。

2.6  B/S架构 

BS架构被广泛应用于各种项目,其优势在于简化了系统的构建、易于操控且便于更新。只需配置必要的数据库及常见的网络浏览器即可启动此种架构。通过这种方式,浏览器会自动链接至数据库并执行所需功能。BS架构可以直接投入运行,大大降低了日常维护的需求。由于所有数据库彼此独立,BS架构的安全性能非常高。此外,BS架构能清晰显示当前系统所处理的工作内容,使管理者能在第一时间作出决定以防止潜在损失。BS架构的核心特性是以集中的管理方式运作,当用户完成工作任务后,产生的数据会被存入系统数据库以便后续利用,从而完全满足各类需求。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_spring boot

图2-1  B/S模式三层结构图

3 系统分析与设计

3.1 可行性分析

通过综合考虑经济、操作、技术等因素,可以对基于SpringBoot的趣味书法学习平台的可行性进行全面评估。这将有助于确定项目的成功概率,并为项目规划提供坚实的基础。

 3.1.1经济可行性分析

本项目的开发成本主要集中在人力和服务器资源上。初期投入主要包括开发团队的薪酬、服务器租赁费用以及必要的软件工具采购。通过采用开源框架Spring Boot和MySQL数据库,可以有效降低软件授权费用。书法作为中国传统文化的重要组成部分,拥有庞大的爱好者群体。随着数字化时代的到来,越来越多的用户倾向于通过在线平台进行学习。根据市场调研数据显示,近年来在线艺术教育市场呈现快速增长趋势,这为本项目提供了广阔的市场空间。此外,平台还可以通过与书法培训机构、文化机构合作,拓展用户群体,提升市场影响力。

 3.1.2操作可行性分析

开发团队具备丰富的Java开发经验,对Spring Boot框架有深入的理解和实践经验。同时,团队成员熟悉MySQL数据库管理,能够有效保障数据存储和查询性能。平台设计以用户为中心,界面简洁直观,操作流程清晰易懂。通过设计,平台能够适配不同终端设备,包括PC、平板和手机,确保用户在不同场景下都能获得良好的使用体验。平台还提供详细的用户指南和帮助中心,帮助用户快速上手。

 3.1.3技术可行性分析

本项目采用的技术架构和工具都是成熟且稳定的,能够满足平台开发的需求。同时,团队成员具备丰富的开发经验和专业知识,能够确保项目的顺利实施。此外,通过不断学习和探索新技术,团队能够不断提升自身的技术水平和创新能力。

综上所述技术可行性也没有问题。

3.2  需求分析

通过SpringBoot、JAVA编程语言与我的ECLIPSE开发环境及MYSQL数据库存储技术相结合的方式,并运用相关的架构模型如MVC(Model-View-Controller)的概念及其它软体工程师所必须掌握的基础理论体系构建出一套趣味书法学习平台的管理平台以满足对客户信息存储的需求并且具备了平台的新增删除修改查询的基本操作能力;该项任务需要达到以下目标要求才能算成功实施完毕:

本系统可以分为:注册用户和管理员两大角色。

  • 注册用户角色用例如下图所示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_eclipse_02

图3-1 注册用户角色用例图

注册用户具体功能说明如下所示。

首页:展示平台的最新动态、热门内容等。通过合理的页面布局和样式设计,提高用户的视觉体验和浏览效率。

网站公告:发布平台的最新公告和通知。通过及时发布重要信息和活动通知,确保用户能够及时了解平台的最新动态。

新闻资讯:提供书法相关的新闻资讯内容。通过整合优质的新闻资源,为用户提供丰富的书法知识和行业动态。

文创周边:展示和销售书法相关的文创产品。通过提供多样化的文创产品,满足用户的购物需求和个性化需求。

书法作品:展示用户的书法作品并允许用户进行评论和点赞。通过作品展示和互动功能,增强用户之间的互动性和参与感。

学习公告:发布书法学习相关的公告和通知。通过及时发布学习资源和活动信息,引导用户积极参与学习。

书法活动:发布书法相关的活动信息并允许用户报名参加。通过组织丰富多彩的活动,提高用户的参与度和学习兴趣。

个人中心:提供个人信息管理、学习记录查看等功能。通过个性化推荐和定制服务,满足用户的个性化需求。

  • 管理员角色用例如下图所示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_tomcat_03

图3-2 管理员角色用例图

管理员具体功能说明如下所示。

后台首页:管理员展示平台的整体运营情况。通过图表和统计数据,直观展示平台的用户数量、活跃度等指标。

系统用户管理:管理员对用户信息进行管理和维护。包括用户注册、登录、等级、积分等信息的查询和修改。

文创周边管理:管理员对文创产品进行管理和维护。包括产品的添加、删除、修改和上架等操作。

周边类型管理:管理员对文创产品的类型进行分类和管理。通过合理的分类和标签设置,方便用户查找和筛选产品。

兑换记录管理:管理员对用户兑换文创产品的记录进行管理。包括兑换记录的查询、审核和导出等操作。

书法作品管理:管理员对用户的书法作品进行管理和审核。包括作品的上传、审核、发布和删除等操作。同时,通过评分和反馈机制,帮助用户提高书法水平。

书法类型管理:管理员对书法作品的类型进行分类和管理。通过合理的分类和标签设置,方便用户查找和筛选作品。

学习公告管理:管理员对学习公告进行发布和管理。包括公告的添加、删除、修改和发布等操作。通过及时发布学习资源和活动信息,引导用户积极参与学习。

学习类型管理:管理员对学习内容的类型进行分类和管理。通过合理的分类和标签设置,方便用户查找和筛选学习资源。

签到记录管理:管理员对用户签到记录进行管理和统计。通过签到功能,激励用户积极参与平台活动和学习。同时,通过统计和分析签到数据,了解用户的活跃度和参与度。

完成任务管理:管理员对用户完成的任务进行管理和统计。通过任务系统,引导用户完成学习任务和挑战任务。同时,通过统计和分析任务数据,了解用户的学习进度和成果。

书法活动管理:管理员对书法活动进行发布和管理。包括活动的添加、删除、修改和发布等操作。

报名记录管理:管理员对用户申请的书法活动报名记录进行管理和审核。

系统管理:(轮播图管理)管理员可以设置系统首页的轮播图,更新宣传内容。

网站公告管理:管理员发布和管理通知公告,确保用户及时了解平台的重要信息。

资源管理:管理员管理平台资讯、资讯分类,确保信息更新和分类清晰。

交流管理:管理员需要对用户发表的评论进行审核和编辑,确保评论内容的合规性和积极性。管理员需要对用户的问题或反馈进行及时回复和处理,以提升用户满意度。对于不恰当的言论,管理员可以进行删除处理。

3.3系统性能分析

对于趣味书法学习平台,下面是系统性能分析表:

表3.3性能需求表

项目

内容

响应时间

系统对用户请求的响应时间需在500ms以内

并发用户数

系统需要支持1000个并发用户同时访问

吞吐量


系统每秒需要处理1000个请求

可用性

系统需要保证每月99.9%的可用性

数据安全

用户敏感数据需要加密存储,并支持数据库备份和恢复

数据一致性

系统中的数据操作需保证ACID特性,确保数据一致性

扩展性

系统需要支持水平扩展,能够方便地增加服务器节点以应对高请求量

可维护性

系统代码需要清晰易懂、结构良好,方便维护和修改

日志记录

系统需要记录用户操作日志、异常日志以及系统运行日志

监控报警

系统需要实时监控运行状态,当系统异常时能够及时发送警报通知相关人员

缓存设置

针对频繁使用的数据,系统需要进行合适的缓存

3.4平台流程分析

 3.4.1程序操作流程图

用户访问平台网站,可以选择进行注册或登录操作。注册成功后,用户可以使用注册的账号登录平台。登录后的用户可以进入平台功能界面,使用自己权限内的功能操作。程序操作流程图如下图所示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_mysql_04

图3.4程序操作流程图

3.4.2登录流程

用户访问平台的网站,进入登录页面,入其用户名和密码,后端服务接收登录请求,验证用户提供的用户名和密码是否匹配数据库中存储的信息,验证通过即可登录成功。登录流程图如下图所示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_vue.js_05

图3.5登录流程图

4系统设计

4.1系统架构设计

由于本平台在逻辑事务处理方面对数据库的操作比较频繁所以系统在底层连接数据库时并没有使用原生的JDBC,而是把JDBC进行了封装,封装之后相当于一个连接数据库的工具DB UTIL,这样使用起来会更加方便而且这样进行封装还可以降低系统中代码的冗余,当我们需要连接和使用数据库时只需要调用这个工具里面的一个方法就可以了。而且通过封装可以把对数据库的操作独立起来,当需要连接不同种类的数据库时只需要加以修改就可以达到目的。

DAO层本来并无这个类,它只是java中MVC构造里的一个model概念,主要就是里面的一些方法,而这些方法就是用来访问数据库的方法。我们在软件开发时DAO层我们一般都放接口和接口的实现类,用于来规范实现类的我们叫它接口,实现类重点用于对数据库的操纵。

MVC是一种系统研发的关键模型,M是Model模型,它是系统内部关键程序运行的核心,主要进行对数据库的各种操作。视图View是V也叫做视图,主要的作用是对一些数据进行显示。控制器Controller 是C执行从View的视图层来读取数据,然后控制用户的输入。

系统架构如下图所示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_eclipse_06

                                图4.1系统架构图

 4.2功能模块设计

功能模块设计是平台开发过程中的重要阶段,它将平台划分为不同的模块,每个模块负责完成特定的功能或任务。趣味书法学习平台由多个功能模块组成,每个模块下又包含具体的功能操作。功能结构图如下图所示

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_mysql_07

图4.2功能结构图

4.3 数据库设计

数据库在每个系统中扮演着重要的作用,如果设计得当,它能够提高系统效率并且实现各种逻辑功能。因此,我们需要从系统的具体需求出发来进行数据库的设计,以便更好地满足系统功能的执行需求。

4.3.1 数据库概念结构设计

e - r图在数据库中揭示了各种实体、它们的特性以及它们之间的关系。系统ER图如下所示:

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_tomcat_08

图4.3用户注册实体属性图

书法活动属性图如下所示:

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_spring boot_09

图4.4书法活动实体属性图

文创周边实体属性图如下所示:

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_tomcat_10

图4.5文创周边属性图

报名记录图如下所示:

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_tomcat_11

图4.6报名记录实体属性图

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_eclipse_12

图4.7系统ER图

3.4.2  数据库具体设计

本系统采MySQL数据库管理系统对数据进行管理。下面是对各个表中的表中各个字段数据类型、大小等做简短描述。趣味书法学习平台所需要的部分数据结构表如下表所示。

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y


临时访问牌ID

2

token

varchar

64

0

Y

N


临时访问牌

3

info

text

65535

0

Y

N



4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表article (文章:用于内容管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

article_id

mediumint

8

0

N

Y


文章id:[0,8388607]

2

title

varchar

125

0

N

Y


标题:[0,125]用于文章和html的title标签中

3

type

varchar

64

0

N

N

0

文章分类:[0,1000]用来搜索指定类型的文章

4

hits

int

10

0

N

N

0

点击数:[0,1000000000]访问这篇文章的人次

5

praise_len

int

10

0

N

N

0

点赞数

6

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

8

source

varchar

255

0

Y

N


来源:[0,255]文章的出处

9

url

varchar

255

0

Y

N


来源地址:[0,255]用于跳转到发布该文章的网站

10

tag

varchar

255

0

Y

N


标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开

11

content

longtext

2147483647

0

Y

N


正文:文章的主体内容

12

img

varchar

255

0

Y

N


封面图

13

description

text

65535

0

Y

N


文章描述

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y


分类ID:[0,10000]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]决定分类显示的先后顺序

3

name

varchar

16

0

N

N


分类名称:[2,16]

4

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

5

description

varchar

255

0

Y

N


描述:[0,255]描述该分类的作用

6

icon

text

65535

0

Y

N


分类图标:

7

url

varchar

255

0

Y

N


外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y


授权ID:

2

user_group

varchar

64

0

Y

N


用户组:

3

mod_name

varchar

64

0

Y

N


模块名:

4

table_name

varchar

64

0

Y

N


表名:

5

page_title

varchar

255

0

Y

N


页面标题:

6

path

varchar

255

0

Y

N


路由路径:

7

parent

varchar

64

0

Y

N


父级菜单

8

parent_sort

int

10

0

N

N

0

父级菜单排序

9

position

varchar

32

0

Y

N


位置:

10

mode

varchar

32

0

N

N

_blank

跳转方式:

11

add

tinyint

3

0

N

N

1

是否可增加:

12

del

tinyint

3

0

N

N

1

是否可删除:

13

set

tinyint

3

0

N

N

1

是否可修改:

14

get

tinyint

3

0

N

N

1

是否可查看:

15

field_add

text

65535

0

Y

N


添加字段:

16

field_set

text

65535

0

Y

N


修改字段:

17

field_get

text

65535

0

Y

N


查询字段:

18

table_nav_name

varchar

500

0

Y

N


跨表导航名称:

19

table_nav

varchar

500

0

Y

N


跨表导航:

20

option

text

65535

0

Y

N


配置:

21

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

22

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表calligraphy_activity (书法活动)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

calligraphy_activity_id

int

10

0

N

Y


书法活动ID

2

event_name

varchar

64

0

Y

N


活动名称

3

event_cover

varchar

255

0

Y

N


活动封面

4

activity_type

varchar

64

0

Y

N


活动类型

5

activity_time

datetime

19

0

Y

N


活动时间

6

number_of_participants

double

9

2

Y

N

0.00

活动人数

7

event_location

text

65535

0

Y

N


活动地点

8

activity_introduction

longtext

2147483647

0

Y

N


活动介绍

9

hits

int

10

0

N

N

0

点击数

10

praise_len

int

10

0

N

N

0

点赞数

11

collect_len

int

10

0

N

N

0

收藏数

12

comment_len

int

10

0

N

N

0

评论数

13

registration_record_limit_times

int

10

0

N

N

1

预约报名限制次数

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表calligraphy_type (书法类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

calligraphy_type_id

int

10

0

N

Y


书法类型ID

2

classification_name

varchar

64

0

Y

N


分类名称

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表calligraphy_works (书法欣赏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

calligraphy_works_id

int

10

0

N

Y


书法欣赏ID

2

calligraphy_name

varchar

64

0

Y

N


书法名称

3

calligraphy_cover

varchar

255

0

Y

N


书法封面

4

calligraphy_era

varchar

64

0

Y

N


书法年代

5

calligraphy_type

varchar

64

0

Y

N


书法类型

6

calligraphy_author

varchar

64

0

Y

N


书法作者

7

author_introduction

text

65535

0

Y

N


作者简介

8

calligraphy_details

longtext

2147483647

0

Y

N


书法详情

9

hits

int

10

0

N

N

0

点击数

10

praise_len

int

10

0

N

N

0

点赞数

11

collect_len

int

10

0

N

N

0

收藏数

12

comment_len

int

10

0

N

N

0

评论数

13

recommend

int

10

0

N

N

0

智能推荐

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表code_token

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

code_token_id

int

10

0

N

Y



2

token

varchar

255

0

Y

N



3

code

varchar

255

0

Y

N


验证码

4

expire_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

失效时间

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y


收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N


来源表:

4

source_field

varchar

255

0

Y

N


来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N


标题:

7

img

varchar

255

0

Y

N


封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y


评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N


内容:

5

nickname

varchar

255

0

Y

N


昵称:

6

avatar

varchar

255

0

Y

N


头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N


来源表:

10

source_field

varchar

255

0

Y

N


来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表complete_the_task (完成任务)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

complete_the_task_id

int

10

0

N

Y


完成任务ID

2

user_account

int

10

0

Y

N

0

用户账号

3

user_name

varchar

64

0

Y

N


用户姓名

4

user_phone_number

varchar

64

0

Y

N


用户电话

5

learning_name

varchar

64

0

Y

N


学习名称

6

learning_points

double

9

2

Y

N

0.00

学习积分

7

completion_time

datetime

19

0

Y

N


完成时间

8

complete_remarks

text

65535

0

Y

N


完成备注

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

11

source_table

varchar

255

0

Y

N


来源表

12

source_id

int

10

0

Y

N


来源ID

13

source_user_id

int

10

0

Y

N


来源用户

表cultural_and_creative_surroundings (文创周边)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

cultural_and_creative_surroundings_id

int

10

0

N

Y


文创周边ID

2

surrounding_names

varchar

64

0

Y

N


周边名称

3

surrounding_cover

varchar

255

0

Y

N


周边封面

4

surrounding_number

varchar

64

0

Y

N


周边编号

5

release_time

datetime

19

0

Y

N


发布时间

6

surrounding_type

varchar

64

0

Y

N


周边类型

7

number_of_surrounding_areas

double

9

2

Y

N

0.00

周边数量

8

points_redemption

double

9

2

Y

N

0.00

积分兑换

9

surrounding_introduction

text

65535

0

Y

N


周边介绍

10

surrounding_details

longtext

2147483647

0

Y

N


周边详情

11

hits

int

10

0

N

N

0

点击数

12

praise_len

int

10

0

N

N

0

点赞数

13

collect_len

int

10

0

N

N

0

收藏数

14

comment_len

int

10

0

N

N

0

评论数

15

recommend

int

10

0

N

N

0

智能推荐

16

exchange_record_limit_times

int

10

0

N

N

0

兑换限制次数

17

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

18

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表cultural_and_creative_types (周边类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

cultural_and_creative_types_id

int

10

0

N

Y


周边类型ID

2

classification_name

varchar

64

0

Y

N


分类名称

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表exchange_record (兑换记录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

exchange_record_id

int

10

0

N

Y


兑换记录ID

2

user_account

int

10

0

Y

N

0

用户账号

3

user_name

varchar

64

0

Y

N


用户姓名

4

user_phone_number

varchar

64

0

Y

N


用户电话

5

surrounding_names

varchar

64

0

Y

N


周边名称

6

surrounding_number

varchar

64

0

Y

N


周边编号

7

points_redemption

double

9

2

Y

N

0.00

积分兑换

8

exchange_quantity

double

9

2

Y

N

0.00

兑换数量

9

deducting_points

double

9

2

Y

N

0.00

扣除积分

10

exchange_time

datetime

19

0

Y

N


兑换时间

11

exchange_method

varchar

64

0

Y

N


兑换方式

12

exchange_remarks

text

65535

0

Y

N


兑换备注

13

examine_state

varchar

16

0

N

N

未审核

审核状态

14

examine_reply

varchar

16

0

Y

N


审核回复

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

17

source_table

varchar

255

0

Y

N


来源表

18

source_id

int

10

0

Y

N


来源ID

19

source_user_id

int

10

0

Y

N


来源用户

表forum (论坛)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

forum_id

mediumint

8

0

N

Y


论坛id

2

display

smallint

5

0

N

N

100

排序

3

user_id

mediumint

8

0

N

N

0

用户ID

4

nickname

varchar

16

0

Y

N


昵称:[0,16]

5

praise_len

int

10

0

Y

N

0

点赞数

6

hits

int

10

0

N

N

0

访问数

7

title

varchar

125

0

N

N


标题

8

keywords

varchar

125

0

Y

N


关键词

9

description

varchar

255

0

Y

N


描述

10

url

varchar

255

0

Y

N


来源地址

11

tag

varchar

255

0

Y

N


标签

12

img

text

65535

0

Y

N


封面图

13

content

longtext

2147483647

0

Y

N


正文

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

16

avatar

varchar

255

0

Y

N


发帖人头像:

17

type

varchar

64

0

N

N

0

论坛分类:[0,1000]用来搜索指定类型的论坛帖

18

istop

int

10

0

N

N

0

是否置顶

表forum_type (论坛分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y


分类ID:[0,10000]

2

name

varchar

16

0

N

N


分类名称:[2,16]

3

description

varchar

255

0

Y

N


描述:[0,255]描述该分类的作用

4

url

varchar

255

0

Y

N


外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

5

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

6

icon

varchar

255

0

Y

N


分类图标:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y


点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N


来源表:

6

source_field

varchar

255

0

Y

N


来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表learning_announcement (书法学习)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

learning_announcement_id

int

10

0

N

Y


书法学习ID

2

learning_name

varchar

64

0

Y

N


学习名称

3

cover_photo

varchar

255

0

Y

N


封面图片

4

learning_type

varchar

64

0

Y

N


学习类型

5

learning_points

double

9

2

Y

N

0.00

学习积分

6

learning_videos

varchar

255

0

Y

N


学习视频

7

study_files

varchar

255

0

Y

N


学习文件

8

learning_details

longtext

2147483647

0

Y

N


学习详情

9

hits

int

10

0

N

N

0

点击数

10

praise_len

int

10

0

N

N

0

点赞数

11

collect_len

int

10

0

N

N

0

收藏数

12

comment_len

int

10

0

N

N

0

评论数

13

sign_in_record_limit_times

int

10

0

N

N

0

学习签到限制次数

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表learning_type (学习类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

learning_type_id

int

10

0

N

Y


学习类型ID

2

classification_name

varchar

64

0

Y

N


分类名称

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y


公告id:

2

title

varchar

125

0

N

N


标题:

3

content

longtext

2147483647

0

Y

N


正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表ordinary_users (普通用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

ordinary_users_id

int

10

0

N

Y


普通用户ID

2

user_name

varchar

64

0

Y

N


用户姓名

3

user_phone_number

varchar

16

0

N

N


用户电话

4

user_gender

varchar

64

0

Y

N


用户性别

5

user_points

double

9

2

Y

N

0.00

用户积分

6

examine_state

varchar

16

0

N

N

已通过

审核状态

7

user_id

int

10

0

N

N

0

用户ID

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y


点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N


来源表:

6

source_field

varchar

255

0

Y

N


来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表registration_record (报名记录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

registration_record_id

int

10

0

N

Y


报名记录ID

2

user_account

int

10

0

Y

N

0

用户账号

3

user_name

varchar

64

0

Y

N


用户姓名

4

user_phone_number

varchar

64

0

Y

N


用户电话

5

event_name

varchar

64

0

Y

N


活动名称

6

activity_time

varchar

64

0

Y

N


活动时间

7

registration_time

datetime

19

0

Y

N


报名时间

8

number_of_applicants

double

9

2

Y

N

0.00

报名人数

9

registration_remarks

text

65535

0

Y

N


报名备注

10

examine_state

varchar

16

0

N

N

未审核

审核状态

11

examine_reply

varchar

16

0

Y

N


审核回复

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

14

source_table

varchar

255

0

Y

N


来源表

15

source_id

int

10

0

Y

N


来源ID

16

source_user_id

int

10

0

Y

N


来源用户

表schedule (日程管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

schedule_id

smallint

5

0

N

Y


日程ID:[0,32767]

2

content

varchar

255

0

Y

N


日程内容

3

scheduled_time

datetime

19

0

Y

N


计划时间

4

user_id

int

10

0

N

N


用户id

5

create_time

datetime

19

0

Y

N


创建时间

6

update_time

datetime

19

0

Y

N


更新时间

表score (评分)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

score_id

int

10

0

N

Y


评分ID:

2

user_id

int

10

0

N

N

0

评分人:

3

nickname

varchar

64

0

Y

N


昵称:

4

score_num

double

5

2

N

N

0.00

评分:

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

source_table

varchar

255

0

Y

N


来源表:

8

source_field

varchar

255

0

Y

N


来源字段:

9

source_id

int

10

0

N

N

0

来源ID:

表sign_in_record (签到记录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

sign_in_record_id

int

10

0

N

Y


签到记录ID

2

user_account

int

10

0

Y

N

0

用户账号

3

user_name

varchar

64

0

Y

N


用户姓名

4

user_phone_number

varchar

64

0

Y

N


用户电话

5

learning_name

varchar

64

0

Y

N


学习名称

6

check_in_time

datetime

19

0

Y

N


签到时间

7

rate_of_learning

varchar

64

0

Y

N


学习进度

8

learning_points

double

9

2

Y

N

0.00

学习积分

9

learning_experience

longtext

2147483647

0

Y

N


学习心得

10

examine_state

varchar

16

0

N

N

未审核

审核状态

11

examine_reply

varchar

16

0

Y

N


审核回复

12

complete_the_task_limit_times

int

10

0

N

N

0

完成限制次数

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

15

source_table

varchar

255

0

Y

N


来源表

16

source_id

int

10

0

Y

N


来源ID

17

source_user_id

int

10

0

Y

N


来源用户

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y


轮播图ID:

2

title

varchar

64

0

Y

N


标题:

3

content

varchar

255

0

Y

N


内容:

4

url

varchar

255

0

Y

N


链接:

5

img

varchar

255

0

Y

N


轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y


上传ID

2

name

varchar

64

0

Y

N


文件名

3

path

varchar

255

0

Y

N


访问路径

4

file

varchar

255

0

Y

N


文件路径

5

display

varchar

255

0

Y

N


显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N


文件夹

8

type

varchar

32

0

Y

N


文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

int

10

0

N

Y


用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N


所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N


手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N


用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N


昵称:[0,16]

9

password

varchar

64

0

N

N


密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N


邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N


头像地址:[0,255]

13

open_id

varchar

255

0

Y

N


针对获取用户信息字段

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y


用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N


名称:[0,16]

4

description

varchar

255

0

Y

N


描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N


来源表:

6

source_field

varchar

255

0

Y

N


来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5  平台功能的具体实现

5.1用户功能模块

5.1.1用户登录界面

用户输入用户名和密码后,平台首先对这些输入进行基本的格式验证,确保用户名和密码符合系统设定的格式要求(如长度、特殊字符要求等)。系统接收到用户输入后,会根据用户名查找系统中存储的用户信息数据库或者其他持久化存储方式。系统需要验证密码的正确性,验证成功即可成功登录。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_spring boot_13

图5.1用户登录界面设计

登录关键代码如下:

/**
     * 登录
     * @param data
     * @param httpServletRequest
     * @return
     */
    @PostMapping("login")
    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
        log.info("[执行登录接口]");
        String username = data.get("username");
        String email = data.get("email");
        String phone = data.get("phone");
        String password = data.get("password");
        List resultList = null;
        Map<String, String> map = new HashMap<>();
        if(username != null && "".equals(username) == false){
            map.put("username", username);
            resultList = service.selectBaseList(service.select(map, new HashMap<>()));
        }

5.1.2用户注册界面

用户注册时,系统要求用户提供必要的信息,例如用户名、密码、电子邮件地址等。这些信息通常由用户在注册表单中输入,并通过前端验证确保格式的正确性。注册过程完成后,系统会为新用户创建一个账户。这包括分配一个唯一的用户ID和设置初始的权限或者角色。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_eclipse_14

图5.2用户注册界面设计

注册关键代码如下:

/**
     * 注册
     * @param user
     * @return
     */
    @PostMapping("register")
    public Map<String, Object> signUp(@RequestBody User user) {
        // 查询用户
        Map<String, String> query = new HashMap<>();
        Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));
        query.put("username",user.getUsername());
        List list = service.selectBaseList(service.select(query, new HashMap<>()));
        if (list.size()>0){
            return error(30000, "用户已存在");
        }
        map.put("password",service.encryption(String.valueOf(map.get("password"))));
        service.insert(map);
        return success(1);
}

5.1.3新闻资讯界面

在新闻资讯模块中,用户可以浏览平台的新闻、活动等相关内容。平台通过该功能向用户发布最新的书法活动信息、学术动态以及其他相关通知,增强用户对书法活动的参与感和信息的及时性。在详情页可以点赞、收藏和评论。

新闻资讯主界面图如下所示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_tomcat_15

图5.3新闻资讯主界面设计

5.1.4网站公告界面

·网站公告:用户可以查看发布平台的最新公告和通知。通过及时发布重要信息和活动通知,用户能够及时了解平台的最新动态。

网站公告主界面图如下所示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_vue.js_16

图5.4网站公告主界面设计

5.1.5文创周边界面

该功能展示和销售书法相关的文创产品。通过提供多样化的文创产品,满足用户的购物需求和个性化需求。

文创周边主界面图如下所示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_spring boot_17

图5.5文创周边主界面设计

5.1.6交流论坛界面

用户可以在论坛发表内容,如书法分享、心得体会等。可以查看论坛列表中某个书法信息的详情,并进行点赞、收藏和评论;还可以回复其他用户的评论信息,实现互动交流。界面图如下所示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_vue.js_18

图5.6交流论坛主界面设计

5.1.7学习公告界面

该功能展示发布书法学习相关的公告和通知。通过及时发布学习资源和活动信息,引导用户积极参与学习。界面图如下所示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_spring boot_19

图5.7学习公告主界面设计

5.1.8书法作品界面

该功能展示用户的书法作品并允许用户进行评论和点赞。通过作品展示和互动功能,增强用户之间的互动性和参与感。界面图如下所示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_eclipse_20

图5.8书法作品主界面设计

5.1.9书法活动界面

该功能展示发布书法相关的活动信息并允许用户报名参加。通过组织丰富多彩的活动,提高用户的参与度和学习兴趣。界面图如下所示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_spring boot_21

图5.9书法活动主界面设计

5.2 管理员功能模块

5.2.1登录界面

管理人员需要登录后,通过输入注册时所使用的账号、密码以及角色选项等信息来完成登录流程,如图展示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_eclipse_22

图5.10登录界面图

关键代码如下:

package com.project.demo.interceptor;
@Slf4j
public class LoginInterceptor implements HandlerInterceptor {
    private String tokenName = "x-auth-token";
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        String token = request.getHeader(this.tokenName);
        setHeader(request, response);
        log.info("[请求接口] - {} , [请求类型] - {}",request.getRequestURL().toString(),request.getMethod());
        if (request.getRequestURL().toString().contains("/api/user/login")){
            return true;
        }
登陆管理员功能

界面后,管理员能够浏览首页、系统用户管理、文创周边管理、周边类型管理、兑换记录管理、书法作品管理、书法类型管理、学习公告管理、学习类型管理、签到记录管理、完成任务管理、书法活动管理、报名记录管理、

系统管理( 轮播图)、通知公告管理、资源管理(新闻资讯、资讯分类)。如图所示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_vue.js_23

图5.11管理员功能界面图

关键代码如下:

@RequestMapping("/get_list")
    public Map<String, Object> getList(HttpServletRequest request) {
        Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));
        return success(map);
    }

5.2.2系统用户管理界面

·管理员对用户信息进行管理和维护。包括用户注册、登录、等级、积分等信息的查询和修改。界面图如下所示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_eclipse_24

图5.12系统用户管理界面图

5.2.3文创周边管理界面

·管理员对文创产品进行管理和维护。包括产品的添加、删除、修改和上架等操作。界面图如下所示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_mysql_25

图5.13文创周边管理界面图

5.2.4周边类型管理界面

·管理员对文创产品的类型进行分类和管理。通过合理的分类和标签设置,方便用户查找和筛选产品。界面图如下所示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_tomcat_26

图5.14周边类型管理界面图

5.2.5兑换记录管理界面

·管理员对用户兑换文创产品的记录进行管理。包括兑换记录的查询、审核和导出等操作。界面图如下所示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_mysql_27

图5.15兑换记录管理界面图

5.2.6书法作品管理界面

·管理员对用户的书法作品进行管理和审核。包括作品的上传、审核、发布和删除等操作。同时,通过评分和反馈机制,帮助用户提高书法水平。界面图如下所示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_vue.js_28

图5.16书法作品管理界面图

5.2.7书法类型管理界面

·管理员对书法作品的类型进行分类和管理。通过合理的分类和标签设置,方便用户查找和筛选作品。界面图如下所示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_eclipse_29

图5.17书法类型管理界面图

5.2.8学习公告管理界面

·管理员对学习公告进行发布和管理。包括公告的添加、删除、修改和发布等操作。通过及时发布学习资源和活动信息,引导用户积极参与学习。界面图如下所示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_spring boot_30

图5.18学习公告管理界面图

5.2.9学习类型管理界面

·管理员对学习内容的类型进行分类和管理。通过合理的分类和标签设置,方便用户查找和筛选学习资源。界面图如下所示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_spring boot_31

图5.19学习类型管理界面图

5.2.10签到记录管理界面

管理员对用户签到记录进行管理和统计。通过签到功能,激励用户积极参与平台活动和学习。同时,通过统计和分析签到数据,了解用户的活跃度和参与度。管理员可以根据用户的学习进度和学习心得,添加用户的积分,可以手动添加也可以点击完成自动添加到用户积分。界面图如下所示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_vue.js_32

图5.20签到记录管理界面图

5.2.11完成任务管理界面

·管理员对用户完成的任务进行管理和统计。通过任务系统,引导用户完成学习任务和挑战任务。同时,通过统计和分析任务数据,了解用户的学习进度和成果。界面图如下所示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_spring boot_33

图5.21完成任务管理界面图

5.2.12书法活动管理界面

·对书法活动进行发布和管理。包括活动的添加、删除、修改和发布等操作。通过组织线下活动来激励用户积极参与书法活动和提升学习书法的兴趣。界面图如下所示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_mysql_34

图5.22书法活动管理界面图

5.2.13报名记录管理界面

管理员对用户申请的书法活动和学习活动报名记录进行管理和审核。界面图如下所示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_spring boot_35

图5.23报名记录管理界面图

5.2.14系统管理界面

管理员可以对轮播图进行管理,包括添加、修改、删除轮播图,设置轮播图属性等。

界面图如下所示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_tomcat_36

图5.24系统管理界面图

5.2.15网站公告管理界面

管理员可以发布公告信息,所有用户都可以查看公告信息。同时,管理员还需要能够查看和管理所有公告信息。

界面图如下所示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_vue.js_37

图5.25网站公告管理界面图

上传图片关键代码如下:

@PostMapping("/upload")
    public Map<String, Object> upload(@RequestParam("file") MultipartFile file) {
        log.info("进入方法");
        if (file.isEmpty()) {
            return error(30000, "没有选择文件");
        }
        try {
            //判断有没路径,没有则创建
            String filePath = System.getProperty("user.dir") + "/src/main/resources/static/";
            File targetDir = new File(filePath);
            if (!targetDir.exists() && !targetDir.isDirectory()) {
                if (targetDir.mkdirs()) {
                    log.info("创建目录成功");
                } else {
                    log.error("创建目录失败");
                }
            }
            String fileName = file.getOriginalFilename();
            File dest = new File(filePath + fileName);
            log.info("文件路径:{}", dest.getPath());
            log.info("文件名:{}", dest.getName());
            file.transferTo(dest);
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("url", "/api/upload/" + fileName);
            return success(jsonObject);
        } catch (IOException e) {
            log.info("上传失败:{}", e.getMessage());
        }
        return error(30000, "上传失败");

5.2.16资源管理界面

资源管理是平台管理员对各类资源进行管理的重要入口,包括文创周边、书法作品、学习资源、用户生成内容等。界面图如下所示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_mysql_38

图5.26资源管理界面图

5.2.17交流管理界面

管理员需要对用户发表的评论进行审核和编辑,确保评论内容的合规性和积极性。管理员需要对用户的问题或反馈进行及时回复和处理,以提升用户满意度。对于不恰当的言论,管理员可以进行删除处理。界面图如下所示。

基于Spring Boot的趣味书法学习平台的设计与实现 计算机毕业设计源码27016_mysql_39

图5.27交流管理界面图


系统开发到了最后一个阶段那就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就可能会尽善尽美,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些bug,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的跟新提供支持。

6.2系统测试用例

系统测试包括:用户登录功能测试、文创周边查看功能测试、书法作品添加、书法类型搜索、密码修改功能测试,如表6-1、6-2、6-3、6-4、6-5所示:

用户登录功能测试:

表6-1 用户登录功能测试表

用例名称

用户登录系统

目的

测试用户通过正确的用户名和密码可否登录功能

前提

未登录的情况下

测试流程

1) 进入登录页面

2) 输入正确的用户名和密码

预期结果

用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入

实际结果

实际结果与预期结果一致

文创周边查看功能测试:

表6-2文创周边查看功能测试表

用例名称

文创周边查看

目的

测试文创周边查看功能

前提

用户登录

测试流程

点击文创周边列表

预期结果

可以查看到所有文创周边

实际结果

实际结果与预期结果一致

管理员添加书法作品界面测试:

表6-3 管理员添加书法作品界面测试表

用例名称

书法作品添加测试用例

目的

测试书法作品添加功能

前提

管理员正常登录情况下

测试流程

1)管理员点击书法作品添加,填写信息。

2)点击进行提交。

预期结果

提交以后,书法作品列表会显示新的书法作品信息 

实际结果

实际结果与预期结果一致

书法类型搜索功能测试:

表6-4书法类型搜索功能测试表

用例名称

书法类型搜索测试

目的

测试书法类型搜索功能

前提

测试流程

1)在搜索框填入搜索关键字。

2)点击搜索按钮。

预期结果

页面显示包含有搜索关键字的书法类型

实际结果

实际结果与预期结果一致

密码修改功能测试:

表6-5 密码修改功能测试表

用例名称

密码修改测试用例

目的

测试管理员密码修改功能

前提

管理员用户正常登录情况下

测试流程

1)管理员密码修改并完成填写。

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

6.3系统测试结果

通过编写趣味书法学习平台的测试用例,已经检测完毕用户登录模块、文创周边查看模块、书法类型添加模块、书法类型搜索模块、密码修改功能测试,通过这5大模块为趣味书法学习平台的后期推广运营提供了强力的技术支撑。

结 论

本论文深入探讨了基于Spring Boot框架的趣味书法学习平台的设计与实现,并取得了显著的成果。该平台不仅继承了传统书法的精髓,还融入了现代互联网技术和趣味教学理念,为用户提供了一个高效、可扩展且富有趣味性的在线学习体验。

在技术实现方面,平台采用Spring Boot作为核心框架,确保了系统的可维护性和扩展性。Spring Boot的轻量级和快速启动特性,使得平台在处理用户请求时表现出色,为用户提供了流畅的学习体验。同时,平台的功能模块设计全面,涵盖了用户管理、课程学习、趣味教学、作品展示与交流等多个方面,形成了一个完整的书法学习生态系统。

在用户体验上,平台界面简洁直观,易于导航,使得用户在不同设备上都能获得良好的体验。此外,平台还通过引入游戏化元素和互动活动,成功激发了用户的学习兴趣,提升了学习效果。

展望未来,平台将继续优化功能模块,引入更多先进技术,为用户提供更丰富的学习资源和更沉浸的学习体验。同时,平台还将加强数据安全措施,保护用户隐私和数据安全。在今后的学习和工作中,我将继续保持学习的热情,善于向他人请教,为社会的发展做出更多贡献。

    参考文献

  1. 刘春梅.“互联网+”时代的大学书法教学研究[J].新美域,2023,(05):101-103.
  2. 王斌.巧用信息技术,让书法课堂生动活泼[J].中国新通信,2022,24(21):188-190.
  3. 郭淑娟.如何提升职业学校书法学习的趣味性[J].大众文艺,2022,(14):211-213.
  4. 谢樟,覃娜,韦惠文,等.“笔墨留香”APP项目设计与书法传承[J].华东纸业,2021,51(04):32-36.
  5. ZhuangY ,ZhangX ,LuW , et al.Chinese Brush Calligraphy Character Retrieval and Learning[J].International Journal of Distance Education Technologies (IJDET),2007,5(2):29-39.
  6. [16]Sadikoglu F ,Soroush B .Intelligent System for Persian Calligraphy Learning[J].Procedia Computer Science,2016,102555-561.
  7. 王科翔,刘星含,娄志城,等.基于Spring Boot+Vue框架的智慧学习平台的设计与实现[J].无线互联科技,2023,20(14):65-68.
  8. 贾靖仪.大数据技术与MySQL数据库的应用[J].集成电路应用,2024,41(08):78-79.
  9. 杨文喜.现代信息科技为传统教学“增质提效”——以传统书法课为例[J].亚太教育,2024,(02):123-125.
  10. 陈则威.巧用信息技术,让书法课堂生动活泼[J].河南教育(教师教育),2021,(08):102-103.
  11. 许春艳.基于智能图文识别的书法学习平台建设[J].信息技术与信息化,2021,(07):243-245.
  12. 张九龙,基于图像特征深度学习的书法风格鉴赏与移动交互平台关键技术研究.陕西省,西安理工大学,2021-02-18.
  13. 郑茂.线上书法教学探索与实践[J].美术教育研究,2020,(20):122-123.
  14. 冯军伟.融媒体时代的书法多元化学习与问题探究[J].书法教育,2020,(10):4-9.
  15. 刘爽.基于“互联网+”的书法教育模式优化与创新[J].学园,2020,13(05):105-106.
  16. 黄灵群.让书法学习在趣味中快乐启航[J].福建教育学院学报,2016,17(02):54-55.
  17. Fujioka H ,Kano H .Character Modeling and Synthesis from Human Handwriting Motions with Esthetic Evaluation[J].International Journal of Assistive Robotics and Mechatronics,2007,8(4):
  18. Sun L .Translanguaging pedagogy on the digital stage: exploring Chinese undergraduates’ English grammar learning through DingTalk platform[J].Humanities and Social Sciences Communications,2024,11(1):1245-1245.
  19. Joshi A ,Kaur K ,Bhatt A , et al.Design, Develop, and Pilot-Test a Digital Platform to Enhance Student Well-Being: Protocol for a Mixed-Methods Study.[J].JMIR research protocols,2024,13e39779.

   致 谢

在这个毕业论文中,我要向导师表达深深的感谢。他在我面临困境和无助时给予了援手,在我思绪混乱时帮我梳理清楚,以及在我的论文出现错误时,他都细心地进行修改。作为学生的我来说,在此次设计中我也清楚地认识到自己的局限性,也是因为老师的指引才让我更为完善地进行设计。同时我也还要感谢我的同学,在设计过程中,我一个人解决方法能力也是有限的,当我遇到困惑之时,通过与他们的讨论,虽然并不一定能完全解决我的问题,但是也总是能给我提供灵感,因为可能一个人的思路有时候就是固定的,很难走出来,所以你就需要那一个人帮你走出固定的框子,感谢他们在我系统和论文排版上面的热心帮助。