https://gf.bilibili.com/item/detail/1104414029
为了帮助小白入门 Java,博主录制了本项目配套的《项目手把手启动教程》,希望能给同学们带来帮助。
一、摘要
1.1 项目介绍
基于JAVA+Vue+SpringBoot+MySQL的大学生相亲网站,包含了会员管理模块、新闻管理模块、相亲大会模块、留言管理模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,大学生相亲网站基于角色的访问控制,给相亲管理员、红娘老师使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。
1.2 项目录屏
二、功能模块
本系统包含容纳了各所高校人员的信息管理,另外还有站内新闻,交友信息,相亲大会活动,在线留言板等内容。
本系统共有账号管理、会员信息管理、新闻管理、相亲大会管理、留言管理五大模块。会员信息管理模块,记录了注册的会员的详细信息,管理注册的用户,进行审核、修改、删除信息等操作。账号管理模块包括对用户名、密码、确认密码、权限的管理。新闻管理模块主要有添加新闻、查询新闻,包括标题、内容、人等。相亲大会管理模块进行添加活动、查询活动,包括活动标题、时间、地点、费用、备注等。留言管理模块通过搜索姓名,留言概要查找会员的信息,可进行回复、修改、删除操作。
本系统将使用B/S体系结构,进行需求分析、体系结构设计、代码构建和测试,以Java、HTML5、CSS3、javaScript.,作为编程语言,使用Mwsa…数据库,以idea、VSCode 作为开发工具,采用三层架构模型,运用一些 Java 中经典框架如Spring、SpringBoot、SpringMVC、Mbatis等来进行开发。使用Maven构建工具来配置开发需要的环境。
可以实现会员注册,查看新闻(会员们的交友信息),交友查询,相亲大会活动,在线留言。
- 账号管理:用户名、密码、确认密码、权限。
- 会员管理:注册会员管理(管理注册的用户,审核、修改、删除信息等操作)。
- 新闻管理:添加新闻、查询新闻,包括标题、内容、人等。
- 相亲大会管理:添加活动、查询活动,包括活动标题、时间、地点、费用、备注等。
- 留言管理:通过搜索姓名,留言概要查找会员的信息,可回复、修改、删除。
三、系统展示
四、核心代码
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 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。
下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!
- 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
- 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
- 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
- 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。