新闻推荐系统:Spring Boot的架构优势
4系统概要设计
 4.1概述
 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示:
 
图4-1系统工作原理图
 4.2系统结构
 本系统是基于B/S架构的网站系统,设计的管理员功能结构图如下图所示:

图4-2管理员功能结构图
 本系统是基于B/S架构的网站系统,设计的用户功能结构图如下图所示:
 
图4-3 用户功能结构图
 4.3.数据库设计
 4.3.1数据库实体
 概念设计的目标是设计出反映某个组织部门信息需求的数据库系统概念模式,数据库系统的概念模式独立于数据库系统的逻辑结构、独立于数据库管理系统(DBMS)、独立于计算机系统。
 概念模式的设计方法是在需求分析的基础上,用概念数据模型(例如E-R模型)表示数据及数据之间的相互联系,设计出反映用户信息需求和处理需求的数据库系统概念模式。概念设计的目标是准确描述应用领域的信息模式,支持用户的各种应用,这样既容易转换为数据库系统逻辑模式,又容易为用户理解。数据库系统概念模式是面向现实世界的数据模型,不能直接用于数据库系统的实现。在此阶段,用户可以参与和评价数据库系统的设计,从而有利于保证数据库系统的设计与用户的需求相吻合。在概念模式的设计中,E-R模型法是最常见的设计方法。本系统的E-R图如下图所示:
 (1)新闻信息的实体属性图如下:

图4.12 新闻信息实体属性图
 (2)用户实体属性图如图4.13所示:
 
图4.13 用户实体属性图
 (3)管理员类型实体属性图如图4.14所示:
 
图4.14 管理员类型实体属性图
 4.3.2数据库设计表
 新闻推荐系统需要后台数据库,下面介绍数据库中的各个表的详细信息:
表4.1 排行榜评论表
 字段 类型 空 默认 注释
 id (主键) bigint(20) 否 主键
 addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
 refid bigint(20) 否 关联表id
 userid bigint(20) 否 用户id
 nickname varchar(200) 是 NULL 用户名
 content longtext 否 评论内容
 reply longtext 是 NULL 回复内容
 表4.2 新闻评论表
 字段 类型 空 默认 注释
 id (主键) bigint(20) 否 主键
 addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
 refid bigint(20) 否 关联表id
 userid bigint(20) 否 用户id
 nickname varchar(200) 是 NULL 用户名
 content longtext 否 评论内容
 reply longtext 是 NULL 回复内容
 表4.3 排行榜
 字段 类型 空 默认 注释
 id (主键) bigint(20) 否 主键
 addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
 biaoti varchar(200) 是 NULL 标题
 fabushijian datetime 是 NULL 发布时间
 neirong longtext 是 NULL 内容
 shipin varchar(200) 是 NULL 视频
 faburen varchar(200) 是 NULL 发布人
 tupian varchar(200) 是 NULL 图片
 thumbsupnum int(11) 是 0 赞
 crazilynum int(11) 是 0 踩
 clicktime datetime 是 NULL 最近点击时间
 clicknum int(11) 是 0 点击次数
 表4.4 收藏表
 字段 类型 空 默认 注释
 id (主键) bigint(20) 否 主键
 addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
 userid bigint(20) 否 用户id
 refid bigint(20) 是 NULL 收藏id
 tablename varchar(200) 是 NULL 表名
 name varchar(200) 否 收藏名称
 picture varchar(200) 否 收藏图片
 表4.5 管理员表
 字段 类型 空 默认 注释
 id (主键) bigint(20) 否 主键
 username varchar(100) 否 用户名
 password varchar(100) 否 密码
 role varchar(100) 是 管理员 角色
 addtime timestamp 否 CURRENT_TIMESTAMP 新增时间
 表4.6 新闻
 字段 类型 空 默认 注释
 id (主键) bigint(20) 否 主键
 addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
 biaoti varchar(200) 是 NULL 标题
 neirong longtext 是 NULL 内容
 shipin varchar(200) 是 NULL 视频
 fabushijian datetime 是 NULL 发布时间
 faburen varchar(200) 是 NULL 发布人
 fengmian varchar(200) 是 NULL 封面
 thumbsupnum int(11) 是 0 赞
 crazilynum int(11) 是 0 踩
 clicktime datetime 是 NULL 最近点击时间
 clicknum int(11) 是 0 点击次数
 表4.7 用户
 字段 类型 空 默认 注释
 id (主键) bigint(20) 否 主键
 addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
 zhanghao varchar(200) 是 NULL 账号
 mima varchar(200) 是 NULL 密码
 xingming varchar(200) 是 NULL 姓名
 xingbie varchar(200) 是 NULL 性别
 shouji varchar(200) 是 NULL 手机
 touxiang varchar(200) 是 NULL 头像
结论
 在这次毕业设计中遇到的最困难的方面就是在数据库方面的知识,在刚开始进行毕业设计的时候感觉十分困难,根本不知道该从何处下手,但不断的坚持,设计最终被完成。无论多么的困难,只要能够坚持下来,善于去找到好的材料来研究,在研究中充分利用资源,没有困难是不会被成功解决的。
 在开发系统的过程中,本人运用到Spring Boot技术和平时学习中所了解的一些技术,通过实现这些技术,大大提高了整个系统的性能。在论文中这些技术都做了比较详细的介绍。本系统还存在很多缺点和不完善的地方,例如有些细节上做的还不够完善,有些功能模块还需要加强。在今后的日子里,能够对这些不足进行改善。
 通过这次最终的毕业设计,平时所学到的知识不仅融合了,而且获得了许多计算机知识。在整个设计过程中明白了许多东西,也培养独立工作能力,树立信心,对自己能力的工作能力,我相信以后会学习和工作生活中有至关重要的作用。同时也大大提高了手的能力,使其难以充分体会探索的乐趣和成功的创作过程,设计过程中汲取的东西,是一笔宝贵的财富。
 回顾过去做毕业设计的整个过程,充满了付出和收获,但是当你看到成果的时候的感觉,是一种难以用言语表达的喜悦之感这些在毕业设计过程中学习到的东西将会使我终身受益!
 最后,感谢指导老师的关心和指导,在我毕业设计的整个过程中,他给与了我很多的帮助和讲解,在导师的帮助下我的毕业设计才能如此顺利的完成。
 致谢语
 经过几个多月的不断学习,我的毕业设计终于如期完成。此次毕业设计是对我们日常所学计算机理论知识的一次综合性评测,也是将理论应用到实践的一项考察。
 首先我要感谢此次指导我的老师,是他的及时纠正我在设计当中出现的问题,使得我的设计高质量完成。指导老师在我本次新闻推荐系统的开发过程中,为程序、框架的设计、代码等方面以及论文设计提供了很多宝贵的意见,并且为我推荐了许多相关的资料,他的指导和建议使我受益匪浅,通过老师的耐心辅导和指点,我的论文顺利完成,在此,我表示深刻的感谢。
 我也要感谢帮助过我的同学们,和我一起探讨论文的不足,给我的设计提出宝贵的建议,在这次设计中他们的帮助使得我的设计更加完善更加具体。
 最后,我也要感谢学校为我们提供了一个良好的学校环境。祝愿学校的领导教师以及和我一起奋斗的同学们工作顺利,事业有成,也要祝愿学校的前景更加辉煌。
 参考文献
 [1]付昕. 基于B/S模式仓库管理系统的实现[J].山东省农业管理干部学院学报, 2010, 27(4):166-168
 [2] 雷文华, 薛小文. MATLAB和Servlet在网络数据处理中的应用[J]. 电子测试, 2010, (11):81-86.
 [3] 黄艳峰. 在Java语言中实施“案例教学”的研究与探索[J]. 电脑知识与技术, 2010, 6(5):1148-1149
 [4] 王玉英. 基于JSP的MySQL数据库访问技术[J]. 现代计算机:专业版, 2010, 19(14):63-66
 [5] 赵钢. JSP Servlet+EJB的Web模式应用研究[J]. 电子设计工程, 2013, 21(13):47-49
 [6] David L.Anderson.Managing Information Systems.清华大学出版社,2002:16
 [7] 王家华.软件工程[M],沈阳:东北大学出版社,2011:46
 [8] 张孝祥,徐明华.软件开发课堂.清华大学出版社,2009:55
 [9] 崔洋.MySQL数据库应用从入门到精通.中国铁道出版社,2013:27
 [10] 王珊,萨师煊.数据库系统概论.高等教育出版社, 2006:16
 [11] 崔洋.MySQL数据库应用从入门到精通.中国铁道出版社,2013:27
 [12] 王珊,萨师煊.数据库系统概论.高等教育出版社, 2006:16
 [13] 张海潘.软件工程导论.清华大学出版社,2008:86
 [14] 黄艳峰. 在Java语言中实施“案例教学”的研究与探索[J]. 电脑知识与技术, 2010, 6(5):1148-1149
 [15] 王玉英. 基于JSP的MySQL数据库访问技术[J]. 现代计算机:专业版, 2010, 19(14):63-66
相关文章:
 
新闻推荐系统:Spring Boot的架构优势
4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示: 图4-1系统工作原理…...
 
谷歌收录批量查询,谷歌收录批量查询的简单方法
谷歌收录批量查询是网站管理员和SEO优化人员常见的需求,以下提供几种简单且高效的批量查询方法: 一、使用Google Search Console(谷歌搜索控制台) 注册并验证网站: 首先,确保你已经在Google Search Conso…...
HarmonyOS NEXT应用开发(一、打造最好用的网络通信模块组件)
随着HarmonyOS NEXT 的发布,越来越多的开发者开始关注如何在这个新平台上高效地进行应用开发。其中网络通信模块的封装尤为关键。纵观HarmonyOS的众多三方网络库及封装,竟没有一个简单好用的。虽然有个axios的鸿蒙版,但有点儿重了也不是很好用…...
 
Windows Ubuntu下搭建深度学习Pytorch训练框架与转换环境TensorRT
Windows Ubuntu下搭建深度学习Pytorch训练框架与转换环境TensorRT JetBrains2024(IntelliJ IDEA、PhpStorm、RubyMine、Rider……)安装包Anaconda Miniconda安装.condarc 文件配置镜像源查看conda的配置和源(channel)自定义conda虚拟环境路径conda常用命…...
如何选择合适的BI工具及集成
目录 1 BI工具介绍 1.1 BI工具介绍 1.2 大数据平台与BI工具的集成 2 选择BI工具的考虑因素 2.1 可视化与分析能力 2.2 易用性与学习曲线 2.3 数据源与连接性 2.4 定制化与扩展性 3 案例分析 3.1 案例一:某零售行业的应用 3.2 案例二:某金融企业的应用 3.3 案例三:…...
 
STM32的串行外设接口SPI
一、SPI简介 1.SPI总线特点 (1)四条通信线 SPI需要SCK、MISO、MOSI、NSS四条通信线来完成数据传输 ,每增加一个从机,多一条NSS通信线。 (2)多主多从 SPI总线允许有多个主机和多个从机。 (3&…...
函数重载
一、概念 C 允许在同一作用域中存在几个功能类似的同名函数,但这些同名函数的形参列表(参数个数 或 类型 或 顺序)必须不同 int Add(int left, int right) {return leftright; }double Add(double left, double right) {return leftright; }long Add(long left, l…...
单例模式:Python中的“独一无二”模式
引言 单例模式是一种常用的设计模式,它确保一个类只有一个实例,并提供一个全局访问点。这种模式在需要控制资源消耗、管理共享资源或者协调系统组件时非常有用。例如,数据库连接、配置文件管理、日志记录等场景。 基础语法介绍 单例模式的…...
 
C++和OpenGL实现3D游戏编程【连载12】——游戏中音效的使用
🔥C++和OpenGL实现3D游戏编程【目录】 1、游戏中音效的使用 前面我们实现了图片纹理的显示功能,是不是感觉到非常的简单。那么今天我们就继续说下游戏声音的实现。音效也是游戏的灵魂,只有搭配了美妙动听的音效以后,游戏才能令人耳目一新,与玩家产生良好的效果。 音效文…...
 
Hive数仓操作(八)
一、Hive中的分桶表 1. 分桶表的概念 分桶表是Hive中一种用于提升查询效率的表类型。分桶指的是根据指定列的哈希值将数据划分到不同的文件(桶)中。 2. 分桶表的原理 哈希分桶:根据分桶列计算哈希值,对哈希值取模,将…...
 
【C++打怪之路Lv6】-- 内存管理
🌈 个人主页:白子寰 🔥 分类专栏:C打怪之路,python从入门到精通,数据结构,C语言,C语言题集👈 希望得到您的订阅和支持~ 💡 坚持创作博文(平均质量分82)&#…...
408知识点自检(二)
一、细节题 边界对齐长度是由什么决定的?64位计算机边界按几字节对齐?单周期cpu、多周期cpu、基本流水线cpu、超标量cpu的cpi分别是多少?中断的处理优先级和响应优先级分别由谁决定?动态分区管理需要用什么重定位方式?…...
 
C语言复习概要(二)
本文目录 C语言中的数组与函数详解1. 引言2. 数组2.1. 什么是数组?语法:示例: 2.2. 数组的初始化示例 1:在声明时初始化示例 2:部分初始化示例 3:运行时赋值 2.3. 数组的访问与修改示例: 2.4. 多…...
 
小程序原生-利用setData()对不同类型的数据进行增删改
1. 声明和绑定数据 wxml文件 <view> {{school}} </view> <view>{{obj.name}}</view> <view id"{{id}}" > 绑定属性值 </view> <checkbox checked"{{isChecked}}"/> <!--算数运算--> <view>{{ id …...
 
.NET Core 集成 MiniProfiler性能分析工具
前言: 在日常开发中,应用程序的性能是我们需要关注的一个重点问题。当然我们有很多工具来分析程序性能:如:Zipkin等;但这些过于复杂,需要单独搭建。 MiniProfiler就是一款简单,但功能强大的应用…...
 
【JAVA开源】基于Vue和SpringBoot的旅游管理系统
本文项目编号 T 063 ,文末自助获取源码 \color{red}{T063,文末自助获取源码} T063,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析5.4 用例设计 六、核…...
信息学奥赛一本通 1885:【14NOIP提高组】寻找道路 | 洛谷 P2296 [NOIP2014 提高组] 寻找道路
【题目链接】 洛谷 P2296 [NOIP2014 提高组] 寻找道路 ybt 1885:【14NOIP提高组】寻找道路 【题目考点】 1. 图论:广搜 2. 图论:反图 【解题思路】 设path数组,path[i]表示顶点i出发到终点t是否有路径。 先求path数组&#…...
 
JVM 基础、GC 算法与 JProfiler 监控工具详解
目录 1、引言 1.1 JVM内存与本地内存 1.2 JVM与JDK的关系 2、JVM基础 2.1 JVM(Java Virtual Machine) 2.2 Java与JVM的关系 2.3 JVM的内存结构 2.3.1 堆内存 2.3.2 栈内存 2.3.3 方法区 2.3.4 本地方法栈 2.3.5 程序计数器(PC寄存…...
 
nodejs安装及环境配置
一、下载 进入官网https://nodejs.org/en/download/prebuilt-installer下载node.js安装包,选择对应版本的node,这里我选择的是14.21.3版本 二、安装 1、下载完成后,双击“node-v14.21.3-x64.msi”,开始安装Node.js 2、勾选复…...
 
无人机电力巡检:点亮电力巡检新视野!
一、无人机电力巡查的优势 提高巡检效率:无人机可以搭载高清摄像头、红外热像仪等先进设备,实时拍摄和传输图像,帮助巡检人员快速发现潜在问题,如电线破损、绝缘子污损、设备过热等,从而大大缩短了巡检周期。 降低人…...
 
深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
 
HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...
 
《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果