技术标签: spring boot java 毕业设计 后端
系统首页界面图
用户注册界面图
漫画界面图
个人中心界面图
系统登录界面图
管理员功能界面图
用户管理界面图
漫画管理界面图
漫画活动管理界面图
商品管理界面图
我的收藏管理界面图
随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,“漫画之家”系统就是信息时代变革中的产物之一。
任何系统都要遵循系统设计的基本流程,本系统也不例外,同样需要经过市场进行调研,漫画需求进行分析,概要设计,系统详细设计,测试和编码等步骤,设计并实现了“漫画之家”系统 。系统选用B/S模式,应用java技术, MySQL为后台数据库。系统主要包括首页,个人中心,用户管理,漫画管理,同人插画管理,漫画活动管理,商品管理,论坛管理,我的收藏管理,留言板管理,系统管理,订单管理等功能模块。
本文首先介绍了“漫画之家”系统的技术发展背景与发展现状,然后遵循软件常规开发流程,首先针对系统选取适用的语言和开发平台,根据需求分析制定模块并设计数据库结构,再根据系统总体功能模块的设计绘制系统的功能模块图,流程图以及E/R图。然后,设计框架并根据设计的框架编写代码以实现系统的各个功能模块。最后,对初步完成的系统进行测试,对功能、单元和性能进行测试。测试结果表明,该系统能够实现所需的功能,运行状况尚可并无明显缺点。
随着科学技术发展,电脑已成为人们生活中必不可少的生活办公工具,在这样的背景下,网络技术被应用到各个方面,为了提高办公和生活效率,网络信息技术飞速发展。在这样的背景下人类社会进入了全新的信息化的时代。漫画管理一直是信息管理的一大难题,漫画数量多,此时寻找有效便捷的漫画信息管理方法就是当务之急。而日趋成熟的计算机信息管理技术便成为解决这一难题的唯一之选。如今计算机信息管理技术来处理漫画早已游刃有余,其实信息管理技术已经渗透到各个行业的信息控制管理当中,且有着举足轻重的地位。而随着现代化社会主义不断进步,普通群众生活水平有了大幅提高,很多方面都在网络上去实现,从而网络也就成为了最直接、即方便又快捷的接入口。
“漫画之家”系统,为随时随地查看漫画信息提供了便捷的方法,更重要的是大大的简化了管理员管理的方式方法,更提供了其他想要了解漫画信息及运作情况的可靠渠道。相比于传统管理方法,这样的电子信息管理更为简洁方便,在漫画维护信息反馈和处理漫画意见方面也有得天独厚的优势。
**
* 同人插画评论表
* 后端接口
* @author
* @email
* @date 2022-04-19 11:38:18
*/
@RestController
@RequestMapping("/discusstongrenchahua")
public class DiscusstongrenchahuaController {
@Autowired
private DiscusstongrenchahuaService discusstongrenchahuaService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,DiscusstongrenchahuaEntity discusstongrenchahua,
HttpServletRequest request){
EntityWrapper<DiscusstongrenchahuaEntity> ew = new EntityWrapper<DiscusstongrenchahuaEntity>();
PageUtils page = discusstongrenchahuaService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, discusstongrenchahua), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@IgnoreAuth
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,DiscusstongrenchahuaEntity discusstongrenchahua,
HttpServletRequest request){
EntityWrapper<DiscusstongrenchahuaEntity> ew = new EntityWrapper<DiscusstongrenchahuaEntity>();
PageUtils page = discusstongrenchahuaService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, discusstongrenchahua), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( DiscusstongrenchahuaEntity discusstongrenchahua){
EntityWrapper<DiscusstongrenchahuaEntity> ew = new EntityWrapper<DiscusstongrenchahuaEntity>();
ew.allEq(MPUtil.allEQMapPre( discusstongrenchahua, "discusstongrenchahua"));
return R.ok().put("data", discusstongrenchahuaService.selectListView(ew));
}
/**
* 查询
*/
@RequestMapping("/query")
public R query(DiscusstongrenchahuaEntity discusstongrenchahua){
EntityWrapper< DiscusstongrenchahuaEntity> ew = new EntityWrapper< DiscusstongrenchahuaEntity>();
ew.allEq(MPUtil.allEQMapPre( discusstongrenchahua, "discusstongrenchahua"));
DiscusstongrenchahuaView discusstongrenchahuaView = discusstongrenchahuaService.selectView(ew);
return R.ok("查询同人插画评论表成功").put("data", discusstongrenchahuaView);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
DiscusstongrenchahuaEntity discusstongrenchahua = discusstongrenchahuaService.selectById(id);
return R.ok().put("data", discusstongrenchahua);
}
/**
* 前端详情
*/
@IgnoreAuth
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
DiscusstongrenchahuaEntity discusstongrenchahua = discusstongrenchahuaService.selectById(id);
return R.ok().put("data", discusstongrenchahua);
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody DiscusstongrenchahuaEntity discusstongrenchahua, HttpServletRequest request){
discusstongrenchahua.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(discusstongrenchahua);
discusstongrenchahuaService.insert(discusstongrenchahua);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody DiscusstongrenchahuaEntity discusstongrenchahua, HttpServletRequest request){
discusstongrenchahua.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(discusstongrenchahua);
discusstongrenchahuaService.insert(discusstongrenchahua);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody DiscusstongrenchahuaEntity discusstongrenchahua, HttpServletRequest request){
//ValidatorUtils.validateEntity(discusstongrenchahua);
discusstongrenchahuaService.updateById(discusstongrenchahua);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
discusstongrenchahuaService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
/**
* 提醒接口
*/
@RequestMapping("/remind/{columnName}/{type}")
public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
@PathVariable("type") String type,@RequestParam Map<String, Object> map) {
map.put("column", columnName);
map.put("type", type);
if(type.equals("2")) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
Date remindStartDate = null;
Date remindEndDate = null;
if(map.get("remindstart")!=null) {
Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindStart);
remindStartDate = c.getTime();
map.put("remindstart", sdf.format(remindStartDate));
}
if(map.get("remindend")!=null) {
Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindEnd);
remindEndDate = c.getTime();
map.put("remindend", sdf.format(remindEndDate));
}
}
Wrapper<DiscusstongrenchahuaEntity> wrapper = new EntityWrapper<DiscusstongrenchahuaEntity>();
if(map.get("remindstart")!=null) {
wrapper.ge(columnName, map.get("remindstart"));
}
if(map.get("remindend")!=null) {
wrapper.le(columnName, map.get("remindend"));
}
int count = discusstongrenchahuaService.selectCount(wrapper);
return R.ok().put("count", count);
}
本次毕业设计的完成预示着大学时代的句号,在这个设计过程中,我收获到的绝不仅仅是做项目过程中要到的知识,更多的是同窗情谊和师生情谊,最重要的是做任何事情都要具备的认真态度,以及真正职业的思考方式方法。
文章浏览阅读375次。命令一次只能操作一个文件或者目录,如果现在我有好几个文件甚至好几百个文件需要处理,是不是就不能用。(这里只有 9 个文件,想一个一个修改也不是不可以。稍微修改一下上面的指令,使输出的文件名转换成指定的格式,即把文件名中的。命令,允许用户创建一个遍历一系列值的循环,以此来重复执行一系列命令。参数不是必须的,完全可以省略,只是为了跟直观地看一下修改的过程而已。编辑器可以根据命令来处理数据流中的数据,这正是我们所需要的。先看测试目录下的文件,这里有 9 个。的文件,需要把他们的文件名都改成。_mv批量修改文件名
文章浏览阅读469次。题意K种不同颜色的N个球,要求每种颜色最后一个球的位置必须按照顺序来。求有多少种排列方法。题解排列规则比较简单,首先放最后一个球,这个球一定放在最后一个空位,放完最后一个球之后,其他的a[i]-1个球随便放。按照排列规则计算一下即可。这里用到了一个小技巧,组合数打表。感觉还是挺实用的。代码#include #include#include#_codeforces 554c a题
文章浏览阅读6.2k次,点赞8次,收藏44次。目录第1关:用指针法输入12个整数,然后按每行4个代码示例第2关:指针变量作为函数参数实现两变量交换值代码示例第3关:报数代码示例第4关:strcmp函数代码示例第1关:用指针法输入12个整数,然后按每行4个任务描述题目描述:用指针法输入12个整数,然后按每行4个数输出####相关知识(略)####编程要求请仔细阅读右侧代码,结合相关知识,在Begin-End区域内进行代码补充。输入输入包含一行,有12个整数。输出按顺序,每行输出4个整数。####测试说明样例输入:1 2 3 4 _第1关:用指针法输入12个整数,然后按每行4个数输出
文章浏览阅读1k次。数据库执行变更遇到发布错误的文件时,客户现场存在着这样一种操作方式:用户将平台下发到客户端的sql文件通过在客户端更改文件内容的方式,来解决发布时遇到错误的问题,这种方式本质上造成了计划发布与实际发布对象的偏离,对于用户后续回溯问题,造成不易察觉的隐藏问题。,非强制,若部分用户在使用数据库变更时,无该使用问题,可以通过不配置该模型实例,正常发布即可。相较于现有的方案,可以有效的提升单位面积内所呈现的信息量,并且由于3D多了一个维度展示的空间,数据中拉开了视觉层级,避免了因数据体量增大,带来的视觉干扰。_3d多层拓扑图
文章浏览阅读814次,点赞25次,收藏26次。前面介绍了pyglet的入门知识, 以及绘制3D场景的基础知识。: 指定点、线段和多边形的顶点。多次调用就可以绘制出几何图形。和glEnd(): 绘制一段图形的开始和结束。glBegin的mode参数可设置填充等样式。: 设置图形颜色, r、g、b的范围是0-1。glFlush(): 刷新绘图缓存, 将绘制的图形显示在屏幕上。: 改变相机位置和视角。下篇:Python pyglet 自制3D引擎入门(二) – 绘制立体心形,动画和相机控制。_python 写一个具有3d物理引擎的可视化窗口
文章浏览阅读199次。此文是我的出版书籍《React Native 精解与实战》连载分享,此书由机械工业出版社出版,书中详解了 React Native 框架底层原理、React Native 组件布局、组件与 API 的介绍与代码实战,以及 React Native 与 iOS、Android 平台的混合开发底层原理讲解与代码实战演示,精选了大量实例代码,方便读者快速学习。书籍配套视频教程「80 节实战课精通 R..._react native dialog源码
文章浏览阅读1.7k次。这一部分我们通过一个简单的例子介绍如何使用metamethods。假定我们使用table来描述结合,使用函数来描述集合的并操作,交集操作,like操作。我们在一个表内定义这些函数,然后使用构造函数创建一个集合:Set = {}function Set.new (t) local set = {} for _, l in ipairs(t) do set[l] = true end return setend function Set.union (a,b) .._bad argument #1 to 'pairs
文章浏览阅读836次。ar识别示例库代码片段_微信小程序识别物品弹出ar动画
文章浏览阅读321次,点赞4次,收藏3次。深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。深度学习在搜索技术,数据挖掘,机器学习,机器翻译,自然语言处理,多媒体学习,语音,推荐和个性化技术,以及其他相关领域都取得了很多成果。深度学习(DL, Deep Learning)是机器学习(ML, Machine Learning)领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能(AI, Artificial Intelligence)。
文章浏览阅读1k次。首先使用a拷贝构造了形参aa,然后aa拷贝构造了copy1,copy1拷贝构造了copy2(注意这里虽然是等号也是拷贝构造,因为这里的copy2还是对象创建初始化阶段,只有对象创建出来之后再给对象赋值才是赋值)copy2拷贝构造了一个临时对象然后传参给test,使用这个临时对象1拷贝构造了aa然后aa重复上面再函数中的拷贝构造,返回值,因为是值返回所以先再main函数的栈帧内开辟一个临时对象2,调用了一次拷贝构造,然后再用哦这个临时对象2,拷贝构造了ret对象。所以编译器进行了优化,那么优化的地方在哪呢?._c++编译器优化
文章浏览阅读328次。1-可以交流、咨询、答疑。_rbf神经网络整定的pid控制器设计
文章浏览阅读74次。场景描述:公司现有一批windowsxp的计算机需要升级到windows7专业版。C盘有很多用户数据,这批计算机也很多,不可能手动一台一台的去备份,我们希望SCCM能自动将用户数据进行备份和还原。SCCM能自动备份和恢复数据,对于管理员来说,可谓一大福音,和以前手动拷贝数据说再见吧。对于以上案例,我们会用到SCCM用户状态迁移角色。步骤:1 在SCCM服务器上添加“用户状态迁移角色” ..._usmt 0x00004005