当前位置: 首页 > news >正文

基于JAVA springboot+mybatis智慧生活分享平台设计和实现

基于JAVA springboot+mybatis智慧生活分享平台设计和实现

博主介绍:多年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域
作者主页 央顺技术团队
Java毕设项目精品实战案例《1000套》
欢迎点赞 收藏 ⭐留言
文末获取源码联系方式

文章目录

  • 基于JAVA springboot+mybatis智慧生活分享平台设计和实现
  • 主要功能模块设计:
  • 系统前端页面主要功能展示:
    • 分类查看详情数据:
    • 用户登录注册:
    • 详情信息查看:
    • 用户交流评论信息:
    • 评论controller层代码
    • 发表文章分享信息
    • 我的个人信息和收藏信息以及关注用户等
    • 关注用户和取消关注用户
    • 对喜欢的文章进行收藏和取消收藏
  • 后台管理员信息:
  • 获取源码:

主要功能模块设计:

登录注册、首页信息浏览、分类查看、详情查看、评论、收藏、浏览量、关注、以及后台管理
主要技术:Java、springmvc、mybatis、mysql、tomcat、jquery、layui、bootstarp、JavaScript、html、css、jsp、log4j等一些常见的基本技术。

系统前端页面主要功能展示:

在这里插入图片描述

分类查看详情数据:

在这里插入图片描述

用户登录注册:

在这里插入图片描述

详情信息查看:

在这里插入图片描述

用户交流评论信息:

在这里插入图片描述

评论controller层代码

package com.smj.controller.admin;import java.util.HashMap;
import java.util.List;
import java.util.Map;import javax.annotation.Resource;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;import com.smj.entity.Comment;
import com.smj.entity.User;
import com.smj.service.ArticleService;
import com.smj.service.CommentService;
import com.smj.service.ReplyService;
import com.smj.service.UserService;
import com.smj.util.StringUtil;/*** 评论Controller层* @author smj**/
@RestController
@RequestMapping("/admin/comment")
public class CommentAdminController {@Resourceprivate CommentService commentService;@Resourceprivate UserService userService;@Resourceprivate ReplyService replyService;@Resourceprivate ArticleService articleService;/*** 分页查询评论* @Title: list  * @param comment  评论实体* @param commentDates  时间段 (搜索用到)* @param page  当前页* @return  参数说明* @return Map<String,Object>    返回类型 * @throws*/@RequestMapping("/list")public Map<String, Object> list(Comment comment,@RequestParam(value = "commentDates", required = false) String commentDates,@RequestParam(value = "page", required = false) Integer page,@RequestParam(value = "pageSize", required = false) Integer pageSize,@RequestParam(value = "nickname", required = false) String nickname) {String s_bCommentDate = null; // 开始时间String s_eCommentDate = null; // 结束时间if (StringUtil.isNotEmpty(commentDates)) {String[] strs = commentDates.split(" - "); // 拆分时间段s_bCommentDate = strs[0];s_eCommentDate = strs[1];}Integer userId = null;Map<String, Object> resultMap = new HashMap<String, Object>();if (StringUtil.isNotEmpty(nickname)) {User user = userService.findByTrueName(nickname);if (user != null) {userId = user.getUserId();}if (userId == null) {resultMap.put("errorInfo", "用户昵称不存在,没有评论!");} else {resultMap.put("errorNo", 0);}} else {resultMap.put("errorNo", 0);}List<Comment> commentList = commentService.list(comment, s_bCommentDate, s_eCommentDate, page - 1, pageSize,userId);Long total = commentService.getCount(comment, s_bCommentDate, s_eCommentDate, userId);resultMap.put("data", commentList);resultMap.put("total", total);return resultMap;}/*** 删除评论* @param ids* @return*/@RequestMapping("/delete")public Map<String, Object> delete(@RequestParam(value = "commentId") String ids) {String[] idsStr = ids.split(","); // 拆分ids字符串Map<String, Object> resultMap = new HashMap<String, Object>();for (int i = 0; i < idsStr.length; i++) {Integer articleId = commentService.getArticleId(Integer.parseInt(idsStr[i]));commentService.delete(Integer.parseInt(idsStr[i]));if (articleId != null) {articleService.reduceComment(articleId);}}resultMap.put("errorNo", 0);resultMap.put("data", 1);return resultMap;}}

发表文章分享信息

在这里插入图片描述

我的个人信息和收藏信息以及关注用户等

在这里插入图片描述

关注用户和取消关注用户

在这里插入图片描述

对喜欢的文章进行收藏和取消收藏

在这里插入图片描述

后台管理员信息:

后台主要功能模块为:
1.用户模块管理:用户登录、用户注册、用户的查询、添加、删除操作、
2.智慧生活分享管理:分享列表的展示、添加、修改、删除操作、
3.智慧生活分享详情管理:智慧生活笔记详情列表的查看、添加、删除等操作、
4.管理员信息管理:管理员信息的查看、修改、
5.公告信息管理:公告信息的查看、添加、修改、删除操作、
6.用户模块管理:用户列表查询、添加、删除、
7.用户评论模块管理:用户评论查询、添加、删除、
8.注销退出登录管理
在这里插入图片描述

获取源码:

大家点赞、收藏、关注、评论啦
🍅查看下方微信号获取联系方式 📝
🚀🚀🚀精彩系列推荐
Java毕设项目精品实战案例《1000套》
精彩专栏推荐订阅:在下方专栏

相关文章:

基于JAVA springboot+mybatis智慧生活分享平台设计和实现

基于JAVA springbootmybatis智慧生活分享平台设计和实现 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文末…...

详细了解C++中的namespace命名空间

键盘敲烂&#xff0c;月薪过万&#xff0c;同学们&#xff0c;加油呀&#xff01; 目录 键盘敲烂&#xff0c;月薪过万&#xff0c;同学们&#xff0c;加油呀&#xff01; 一、命名空间的理解 二、&#xff1a;&#xff1a;作用域运算符 三、命名空间&#xff08;namespace&…...

#WEB前端(HTML属性)

1.实验&#xff1a;a,img 2.IDE&#xff1a;VSCODE 3.记录&#xff1a; a: href插入超链接 默认情况下在本窗口打开链接, target可以设置打开的窗口,parent在父窗口打开&#xff0c;blank新开串口打开,top在顶层串口打开,self为默认在本窗口打开 img: 插入图片 可以插…...

LeetCode---【和的操作】

目录 两数之和我的答案在b站up那里学到的【然后自己复写】 和为 K 的子数组在b站up那里学到的【然后自己复写】 三数之和在b站up那里学到的【然后自己复写】 两数相加【链表】我的半路答案&#xff1a;没有看到是链表在b站up那里学到的【复写失败后整理】 两数之和 我的答案 …...

Docker容器与虚拟化技术:OpenEuler 使用 docker-compose 部署 LNMP

目录 一、实验 1.环境 2.OpenEuler 部署 docker-compose 3.docker-compose 部署 LNMP 二、问题 1.ntpdate未找到命令 2.timedatectl 如何设置时区与时间同步 3.php网页显示时区不对 一、实验 1.环境 &#xff08;1&#xff09;主机 表1 主机 系统架构版本IP备注Lin…...

13-微服务初探-自研微服务框架

微服务初探 1. 架构变迁之路 1.1 单体架构 互联网早期&#xff0c;一般的网站应用流量较小&#xff0c;只需要一个应用&#xff0c;将所有的功能代码都部署在一起就可以&#xff0c;这样可以减少开发&#xff0c;部署和维护的成本。 比如说一个电商系统&#xff0c;里面包含…...

LeetCode——二叉树(Java)

二叉树 简介[简单] 144. 二叉树的前序遍历、94. 二叉树的中序遍历、145. 二叉树的后序遍历二叉树层序遍历[中等] 102. 二叉树的层序遍历[中等] 107. 二叉树的层序遍历 II[中等] 199. 二叉树的右视图[简单] 637. 二叉树的层平均值[中等] 429. N 叉树的层序遍历[中等] 515. 在每个…...

LDR6328芯片:智能家居时代的小家电充电革新者

在当今的智能家居时代&#xff0c;小家电的供电方式正变得越来越智能化和高效化。 利用PD&#xff08;Power Delivery&#xff09;芯片进行诱骗取电&#xff0c;为后端小家电提供稳定电压的技术&#xff0c;正逐渐成为行业的新宠。在这一领域&#xff0c;LDR6328芯片以其出色的…...

用node写后端环境运行时报错Port 3000 is already in use

解决方法:关闭之前运行的3000端口,操作如下 1.WindowR输入cmd确定,打开命令面板 2.查看本机端口详情 netstat -ano|findstr "3000" 3.清除3000端口 taskkill -pid 41640 -f 最后再重新npm start即可,这里要看你自己项目中package.joson的启动命令是什…...

Git 如何上传本地的所有分支

Git 如何上传本地的所有分支 比如一个本地 git 仓库里定义了两个远程分支&#xff0c;一个名为 origin&#xff0c; 一个名为 web 现在本地有一些分支是 web 远程仓库没有的分支&#xff0c;如何将本地所有分支都推送到 web 这个远程仓库上呢 git push web --all...

【airtest】自动化入门教程(一)AirtestIDE

目录 一、下载与安装 1、下载 2、安装 3、打开软件 二、web自动化配置 1、配置chrome浏览器 2、窗口勾选selenium window 三、新建项目&#xff08;web&#xff09; 1、新建一个Airtest项目 2、初始化代码 3、打开一个网页 四、恢复默认布局 五、新建项目&#xf…...

ChatGPT支持下的PyTorch机器学习与深度学习技术应用

近年来&#xff0c;随着AlphaGo、无人驾驶汽车、医学影像智慧辅助诊疗、ImageNet竞赛等热点事件的发生&#xff0c;人工智能迎来了新一轮的发展浪潮。尤其是深度学习技术&#xff0c;在许多行业都取得了颠覆性的成果。另外&#xff0c;近年来&#xff0c;Pytorch深度学习框架受…...

Springboot+vue的医药管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。

演示视频&#xff1a; Springbootvue的医药管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot vue前后端分离项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层…...

C语言:预处理

C语言&#xff1a;预处理 预定义符号#define定义常量定义宏宏与函数对比 #操作符##操作符条件编译头文件包含库文件包含本地文件包含嵌套文件包含 预定义符号 C语⾔设置了⼀些预定义符号&#xff0c;可以直接使⽤&#xff0c;预定义符号也是在预处理期间处理的。 __FILE__ //…...

计算机网络:路由协议

路由协议简介 路由协议是计算机网络中不可或缺的一部分&#xff0c;它们负责确定数据包从源地址到目的地址的最佳路径。想象一下&#xff0c;如果你是一个数据包&#xff0c;路由协议就像是地图或导航工具&#xff0c;指导你如何到达目的地。 目录 路由协议简介 工作原理简化…...

经典动态规划题目leetcode322. 零钱兑换

题目链接&#xff1a;https://leetcode.cn/problems/coin-change/description/ 给你一个整数数组 coins &#xff0c;表示不同面额的硬币&#xff1b;以及一个整数amount &#xff0c;表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合…...

python 使用curl_cffi 绕过jax3指纹-Cloudflare 5s盾

现在越来越多的网站已经能够通过JA3或者其他指纹信息&#xff0c;来识别你是不是爬虫了。传统的方式比如换UA&#xff0c;加代理是没有任何意义了&#xff0c;所以这个时候我们就需要使用到curl_cffi 了。 1.TLS 指纹是啥&#xff1f; 在绝大多数的网站都已经使用了 HTTPS&am…...

Python3学习笔记39-passlib

passlib处理密码哈希的python包,支持很多哈希算法和工具 bcrypt 安装 pip install passlib[bcrypt] 会安装passlib包和bcrypt两个包 密码哈希与校验 from passlib.context import CryptContext# 创建CryptContext对象&#xff0c;指定加密算法 pwd_context CryptContext…...

Matlab 机器人工具箱 动力学

文章目录 R.dynR.fdynR.accelR.rneR.gravloadR.inertiaR.coriolisR.payload官网:Robotics Toolbox - Peter Corke R.dyn 查看动力学参数 mdl_puma560; p560.dyn;%查看puma560机械臂所有连杆的动力学参数 p560.dyn(2);%查看puma560机械臂第二连杆的动力学参数 p560.links(2)…...

Android ShellUtils手机管理器

1. Android ShellUtils手机管理器 Android Shell工具类&#xff0c;可用于检查系统root权限&#xff0c;并在shell或root用户下执行shell命令。如&#xff1a; checkRootPermission() 检查root权限 。execCommand(String[] commands, boolean isRoot, boolean isNeedResultMsg)…...

2026奇点大会闭门报告首发(仅限首批200名工程负责人):AI原生测试的7层抽象架构与4类不可逆迁移陷阱

第一章&#xff1a;2026奇点智能技术大会&#xff1a;AI原生测试自动化 2026奇点智能技术大会(https://ml-summit.org) 在2026奇点智能技术大会上&#xff0c;“AI原生测试自动化”不再是一个愿景&#xff0c;而是已落地的工程范式——它将大语言模型、多模态推理与测试生命周…...

Qt中TabWidget动态添加页面的控件自适应布局优化实践

1. 为什么TabWidget动态添加页面时布局会失效 在Qt开发中&#xff0c;TabWidget是一个非常实用的容器控件&#xff0c;它允许我们在同一个窗口内通过标签页切换不同的功能模块。很多开发者喜欢用addTab()方法动态添加页面&#xff0c;这种方式既实现了模块化开发&#xff0c;又…...

GitHub 狂飙 4.7 万 Star!Hermes Agent:会自我进化的 AI 助手

最近开源 AI 圈最炸的项目&#xff0c;非 Hermes Agent 莫属&#xff01; Hermes Agent从2026 年 2 月底正式开源&#xff0c;短短 2 个月内 GitHub 星标突破 4.7 万 &#xff0c;直接登顶 GitHub Trending 全站第一&#xff0c;成为 2026 年增长最快、最受开发者追捧的 AI Ag…...

C# 实现异步非阻塞式定时关闭消息弹窗

1. 为什么需要异步非阻塞式消息弹窗 在日常开发中&#xff0c;MessageBox.Show()可能是我们最先接触到的弹窗方式。但用过几次就会发现&#xff0c;这个看似方便的方法存在两个致命缺陷&#xff1a;一是必须等待用户点击确认按钮&#xff0c;二是会阻塞当前线程的执行。想象一下…...

觅感科技WiFi 2.4G5G双频双模技术的应用价值与能力

深圳觅感科技有限公司作为物联网通信方案商&#xff0c;专注于低功耗、高稳定性的WiFi/BLE通讯模组研发及嵌入式软件定制化服务。公司符合标准的质量管理体系认证&#xff0c;产品具备FCC/CE/SRRC等认证及无线电发射设备型号核准证。一、双频双模模组系列MSWXB2522模组定位为一…...

实战解析:基于unidbg的APP逆向与关键算法模拟执行

1. 为什么需要unidbg进行APP逆向分析 当你尝试分析一个移动应用的核心算法时&#xff0c;最头疼的问题是什么&#xff1f;我猜90%的开发者都会说&#xff1a;无法直接运行和调试so文件中的native代码。传统的逆向方法要么需要真机环境&#xff0c;要么要处理复杂的交叉编译问题…...

高性能EPUB转换引擎:Kepubify实现零延迟Kobo格式批量处理

高性能EPUB转换引擎&#xff1a;Kepubify实现零延迟Kobo格式批量处理 【免费下载链接】kepubify Fast, standalone EPUB to Kobo EPUB conversion tool. 项目地址: https://gitcode.com/gh_mirrors/ke/kepubify Kepubify是一款专为Kobo电子阅读器设计的高性能EPUB格式转…...

Unity新手避坑指南:从零搭建第一个3D场景,我踩过的那些坑都帮你填好了

Unity新手避坑指南&#xff1a;从零搭建第一个3D场景的实战经验 第一次打开Unity时&#xff0c;那个空荡荡的3D场景窗口既令人兴奋又让人不知所措。作为一个过来人&#xff0c;我清楚地记得自己是如何在无数个深夜与各种"坑"作斗争的。这篇文章不是又一篇基础操作手…...

如何轻松掌握Spring Framework JDBC操作对象化:5个核心技巧与实战指南

如何轻松掌握Spring Framework JDBC操作对象化&#xff1a;5个核心技巧与实战指南 【免费下载链接】spring-framework Spring Framework 项目地址: https://gitcode.com/gh_mirrors/sp/spring-framework Spring Framework JDBC操作对象化是Java开发者处理数据库交互的高…...

GD32F103C8T6上跑FreeRTOS:保姆级移植教程,从源码下载到LED闪烁测试

GD32F103C8T6移植FreeRTOS实战指南&#xff1a;从零构建实时操作系统 第一次拿到GD32开发板时&#xff0c;我盯着这块"国产STM32"看了半天——引脚兼容、外设相似&#xff0c;但真要把成熟的FreeRTOS移植上去&#xff0c;还是遇到了不少坑。本文将用最接地气的方式&a…...