Vue.js+SpringBoot开发大学生相亲网站

news2024/11/30 12:40:13

在这里插入图片描述


目录

  • 一、摘要
    • 1.1 项目介绍
    • 1.2 项目录屏
  • 二、功能模块
  • 三、系统展示
  • 四、核心代码
    • 4.1 查询会员
    • 4.2 查询相亲大会
    • 4.3 新增留言
    • 4.4 查询新闻
    • 4.5 新增新闻
  • 五、免责说明


一、摘要

1.1 项目介绍

基于JAVA+Vue+SpringBoot+MySQL的大学生相亲网站,包含了会员管理模块、新闻管理模块、相亲大会模块、留言管理模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,大学生相亲网站基于角色的访问控制,给相亲管理员、红娘老师使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

1.2 项目录屏


二、功能模块

本系统包含容纳了各所高校人员的信息管理,另外还有站内新闻,交友信息,相亲大会活动,在线留言板等内容。

本系统共有账号管理、会员信息管理、新闻管理、相亲大会管理、留言管理五大模块。会员信息管理模块,记录了注册的会员的详细信息,管理注册的用户,进行审核、修改、删除信息等操作。账号管理模块包括对用户名、密码、确认密码、权限的管理。新闻管理模块主要有添加新闻、查询新闻,包括标题、内容、人等。相亲大会管理模块进行添加活动、查询活动,包括活动标题、时间、地点、费用、备注等。留言管理模块通过搜索姓名,留言概要查找会员的信息,可进行回复、修改、删除操作。

本系统将使用B/S体系结构,进行需求分析、体系结构设计、代码构建和测试,以Java、HTML5、CSS3、javaScript.,作为编程语言,使用Mwsa…数据库,以idea、VSCode 作为开发工具,采用三层架构模型,运用一些 Java 中经典框架如Spring、SpringBoot、SpringMVC、Mbatis等来进行开发。使用Maven构建工具来配置开发需要的环境。

可以实现会员注册,查看新闻(会员们的交友信息),交友查询,相亲大会活动,在线留言

  1. 账号管理:用户名、密码、确认密码、权限。
  2. 会员管理:注册会员管理(管理注册的用户,审核、修改、删除信息等操作)。
  3. 新闻管理:添加新闻、查询新闻,包括标题、内容、人等。
  4. 相亲大会管理:添加活动、查询活动,包括活动标题、时间、地点、费用、备注等。
  5. 留言管理:通过搜索姓名,留言概要查找会员的信息,可回复、修改、删除。

三、系统展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


四、核心代码

4.1 查询会员

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询会员")
public Result<IPage<Member>> getByPage(@ModelAttribute Member member ,@ModelAttribute PageVo page){
    QueryWrapper<Member> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(member.getName())) {
        qw.like("name",member.getName());
    }
    if(!ZwzNullUtils.isNull(member.getResidence())) {
        qw.like("residence",member.getResidence());
    }
    if(!ZwzNullUtils.isNull(member.getAddress())) {
        qw.like("address",member.getAddress());
    }
    if(!ZwzNullUtils.isNull(member.getHouse())) {
        qw.like("house",member.getHouse());
    }
    if(!ZwzNullUtils.isNull(member.getSchooling())) {
        qw.like("schooling",member.getSchooling());
    }
    IPage<Member> data = iMemberService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Member>>().setData(data);
}

4.2 查询相亲大会

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询相亲大会")
public Result<IPage<MatchmakingConference>> getByPage(@ModelAttribute MatchmakingConference matchmakingConference ,@ModelAttribute PageVo page){
    QueryWrapper<MatchmakingConference> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(matchmakingConference.getTitle())) {
        qw.like("title",matchmakingConference.getTitle());
    }
    if(!ZwzNullUtils.isNull(matchmakingConference.getContent())) {
        qw.like("content",matchmakingConference.getContent());
    }
    if(!ZwzNullUtils.isNull(matchmakingConference.getAddress())) {
        qw.like("address",matchmakingConference.getAddress());
    }
    IPage<MatchmakingConference> data = iMatchmakingConferenceService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<MatchmakingConference>>().setData(data);
}

4.3 新增留言

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增留言")
public Result<Message> insert(Message message){
    User currUser = securityUtil.getCurrUser();
    message.setUserId(currUser.getId());
    message.setUserName(currUser.getNickname());
    message.setTime(DateUtil.now());
    message.setReplyContent("");
    message.setReplyName("");
    message.setReplyId("");
    message.setReplyTime("");
    iMessageService.saveOrUpdate(message);
    return new ResultUtil<Message>().setData(message);
}

4.4 查询新闻

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询新闻")
public Result<IPage<News>> getByPage(@ModelAttribute News news ,@ModelAttribute PageVo page){
    QueryWrapper<News> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(news.getTitle())) {
        qw.like("title",news.getTitle());
    }
    if(!ZwzNullUtils.isNull(news.getContent())) {
        qw.like("content",news.getContent());
    }
    if(!ZwzNullUtils.isNull(news.getUserName())) {
        qw.like("user_name",news.getUserName());
    }
    IPage<News> data = iNewsService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<News>>().setData(data);
}

4.5 新增新闻

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增新闻")
public Result<News> insert(News news){
    if(Objects.equals(0,news.getSortOrder().compareTo(BigDecimal.ZERO))) {
        news.setSortOrder(BigDecimal.valueOf(iNewsService.count() + 1L));
    }
    User currUser = securityUtil.getCurrUser();
    news.setUserName(currUser.getNickname());
    iNewsService.saveOrUpdate(news);
    return new ResultUtil<News>().setData(news);
}

五、免责说明

  • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
  • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
  • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1529476.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python 基础知识点(蓝桥杯python科目个人复习计划65)

今日复习内容&#xff1a;做题 例题1&#xff1a;遥远的雪国列车 问题描述&#xff1a; 小蓝和小红今天在房间里一起看完了“雪国列车”这部电影&#xff0c;看完之后他们感触颇深&#xff0c;同时他们想到了这样一道题目&#xff1a; 现在有一个数轴&#xff0c;长度为N&a…

【Godot4.2】2D导航02 - AstarGrid2D及其使用方法

概述 AstarGrid2D是Godot4.0新增的A*寻路辅助类型。可以看做是Astar2D的加强版。它允许你通过设置其size和cell_size属性来创建一个虚拟的网格。 并使用set_point_solid()这样的方法来在指定位置创建障碍物。 AstarGrid2D的好处是你不再需要手动的添加点以及点与点之间的连接…

【进阶五】Python实现SDVRP(需求拆分)常见求解算法——自适应大邻域算法(ALNS)

基于python语言&#xff0c;采用经典自适应大邻域算法&#xff08;ALNS&#xff09;对 需求拆分车辆路径规划问题&#xff08;SDVRP&#xff09; 进行求解。 目录 往期优质资源1. 适用场景2. 代码调整3. 求解结果4. 代码片段参考 往期优质资源 经过一年多的创作&#xff0c;目前…

OPTEE v3.20.0 FVP环境搭建

目录 一、前提条件 二、下载fvp代码 三、下载工具链 四、下载Foundation_Platform FVP平台 五、编译及运行 一、前提条件 1、安装如下的依赖工具 sudo apt-get install android-tools-adb android-tools-fastboot autoconf \ automake bc bison build-essential ccache c…

精酿啤酒:开启时尚派对的钥匙

Fendi club啤酒&#xff0c;一个代表着时尚与品味的品牌&#xff0c;如今进入了啤酒市场&#xff0c;推出了名为“Fendi club”的啤酒。这一创新的举措不仅展现了品牌的多元化发展&#xff0c;更为消费者提供了一种全新的时尚生活方式。 Fendi club啤酒不仅仅是一种产品&#x…

IPD集成产品开发:塑造企业未来竞争力的关键

随着市场竞争的日益激烈&#xff0c;企业对产品开发的要求也越来越高。如何在快速变化的市场环境中&#xff0c;既保证产品的批量生产效率&#xff0c;又满足客户的个性化需求&#xff0c;成为了企业面临的重要挑战。IPD&#xff08;集成产品开发&#xff09;模式&#xff0c;作…

HarmonyOS NEXT应用开发—投票动效实现案例

介绍 本示例介绍使用绘制组件中的Polygon组件配合使用显式动画以及borderRadius实现投票pk组件。 效果预览图 使用说明 加载完成后会有一个胶囊块被切割成两个等大的图形来作为投票的两个选项&#xff0c;中间由PK两字分隔开点击左边选项&#xff0c;两个图形会随着选择人数…

简单了解多线程

并发和并行 并发&#xff1a; 在同一时刻&#xff0c;多个指令在单一CPU上交替指向 并行&#xff1a;在同一时刻&#xff0c;多个指令在多个CPU上同时执行 2核4线程&#xff0c;4核8线程&#xff0c;8核16线程&#xff0c;16核32线程 基础实现线程的方式 Thread :继承类 &…

英伟达深夜放王炸|字节跳动游戏之路波折不断|文旅短剧风口将至|25岁QQ魅力不减,5亿人在用|云计算市场疯长152%|电商巨头齐瞄向富足悠闲银发族

新闻一分钟速览 文旅短剧风口将至&#xff0c;一地狂拍十部&#xff0c;影视界看法分歧&#xff0c;悬念丛生&#xff01;字节跳动游戏之路波折不断&#xff0c;能否逆风翻盘引关注。折叠屏手机痛症治愈&#xff0c;实力席卷高端市场&#xff0c;势头强劲&#xff01;雷军豪言…

框架篇常见面试题

1、Spring框架的单例bean是线程安全的吗&#xff1f; 2、什么是AOP&#xff1f; 3、Spring的事务是如何实现的&#xff1f; 4、Spring事务失效的场景 5、SpringBean的声明周期 6、Spring的循环依赖 7、SpringMVC的执行流程 8、SpringBoot自动配置原理 9、Spring常见注解

1.IP复习课作业

1.IP复习课作业 1.为路由器各接口配置IP以及环回 R1 R2 R3 R4 R5 R6 2.配置dhcp为主机下发IP PC1 PC2 3.配置静态路由 R1 R2 R3 R4 R5 PC端通信 4.防止成环 R1 R2、4、5一样 5.修改优先级 R1 R2、3、4、5同样进行修改 6.均可访问R6环回 R5配置easy IP R1 ping R6环回 PC ping R…

微信小程序开发学习笔记——4.4常见的导航栏api接口

>>跟着b站up主“咸虾米_”学习微信小程序开发中&#xff0c;把学习记录存到这方便后续查找。 课程连接&#xff1a;https://www.bilibili.com/video/BV19G4y1K74d?p29&vd_source9b149469177ab5fdc47515e14cf3cf74 一、属性 界面 / 导航栏 / wx.showNavigationBar…

Java项目打包成Docker镜像

将项目打包成Docker镜像 将项目打包成Docker镜像的原因是可以在一台电脑的环境下模拟多台不同性能电脑响应高并发请求时候的表现。这里我们模拟半个CPU、一个CPU还有两个CPU的情况 在pom.xml文件中添加jib插件&#xff08;前提电脑安装了maven和Java 的 JDK才能成功完成编译&…

一般做策划的的,上哪儿找策划方案借鉴?

许多策划人担忧&#xff0c;借鉴他人的经验和方案会会削弱自己的创新能力和独立思考。 但是&#xff0c;实际上&#xff0c;借鉴他人的经验和方案可以为自己提供更多的灵感和创意&#xff0c;同时也可以提高策划的成功率。 这里推荐策划人必备的宝藏网站&#xff08;专治不会…

Linux系统学习总结(上)

B站大学地址&#xff1a;第二章-04-ls命令的参数和选项_哔哩哔哩_bilibili 操作系统概述 1、计算机是由硬件和软件两部分组成的 2、操作系统是软件的一类&#xff0c;主要作用是协助用户调度硬件工作&#xff0c;充当用户和计算机硬件之间的桥梁 3、常见的操作系统分为两类…

【Vue3】Vue3中的编程式路由导航 重点!!!

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…

0基础 三个月掌握C语言(13)

数据在内存中的存储 整数在内存中的存储 在讲解操作符时 我们就已经学习了该部分的内容 这里我们回顾一下 整数的二进制表示方法有三种&#xff1a;原码 反码 补码 有符号的整数&#xff08;unsigned&#xff09; 三种表达方式均有符号位和数值位两部分 最高位的一位被当…

Tensorflow2.0笔记 - Himmelblau函数优化案例

本笔记记录Himmelblau函数优化案例代码&#xff0c;包括函数的图形绘制和梯度下降求解局部最优解的过程。 import tensorflow as tf import numpy as np from mpl_toolkits.mplot3d import Axes3D from matplotlib import pyplot as plt tf.__version__#Himmelblau函数 #https…

使用vitepress生成文档博客简单demo

先创建个空目录(就是你的项目) 安装vitepress 就是在你刚创建的目录里安装vitepress&#xff1a; npm add -D vitepress初始化项目 还是在你刚操作的目录里执行&#xff1a; npx vitepress init然后按照命令行的指引一步一步走就好了 注意VitePress的项目位置&#xff0c…

网站引用图片但它域名被墙了或者它有防盗链,我们想引用但又不能显示,本文附详细的解决方案非常简单!

最好的办法就是直接读取图片文件&#xff0c;用到php中一个常用的函数file_get_contents(图片地址)&#xff0c;意思是读取远程的一张图片&#xff0c;在输出就完事。非常简单&#xff5e;话不多说&#xff0c;直接上代码 <?php header("Content-type: image/jpeg&quo…