首页 > 其他分享 >基于springboot的动漫论坛系统

基于springboot的动漫论坛系统

时间:2023-09-05 10:34:36浏览次数:35  
标签:comment 基于 predicates springboot comments 帖子 动漫 cartoonId cartoon


博主主页猫头鹰源码

博主简介:Java领域优质创作者、博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战

主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询

项目介绍: 

该系统基于springboot技术,mysql数据库,页面采用html,具有完整的业务逻辑,适合选题:springboot、动漫、论坛、动漫论坛等。

项目功能:

本项目分为管理员与普通用户两种角色

管理员角色包含以下功能:

- 帖子管理
- 分类管理
- 标签管理
- 发布帖子

用户角色包含以下功能:

- 帖子浏览、帖子搜索、评论帖子

系统包含技术:

后端:springboot、jpa
前端:js,css等,html页面
开发工具:idea
数据库:mysql 5.7
JDK版本:jdk1.8

部分截图说明:

下面是首页

基于springboot的动漫论坛系统_后端

查看帖子

基于springboot的动漫论坛系统_java_02

帖子详情

基于springboot的动漫论坛系统_spring boot_03

评论

基于springboot的动漫论坛系统_面试_04

查看所有帖子

基于springboot的动漫论坛系统_后端_05

登录

基于springboot的动漫论坛系统_spring boot_06

 

后台-分类管理

基于springboot的动漫论坛系统_javaweb_07

 后台-标签管理

基于springboot的动漫论坛系统_java_08

 后台-论坛

基于springboot的动漫论坛系统_java_09

 后台-新增帖子

基于springboot的动漫论坛系统_后端_10

部分代码:

 评论操作

@GetMapping("/comments/{cartoonId}")
    public String comments( @PathVariable Long cartoonId, Model model) {
        model.addAttribute("comments", commentService.listCommentByCartoonId(cartoonId));

        return "details :: commentList";
    }

    @PostMapping("/comments")
    public String post(Comment comment, HttpSession session) {
        Long cartoonId = comment.getCartoon().getId();
        comment.setCartoon(controllerService.getCartoon(cartoonId));
        User user= (User) session.getAttribute("user");
        if(user!=null){
            comment.setAvatar(user.getAvatar());
            comment.setAdminComment(true);
        }else {
            comment.setAvatar(avatar);
        }

        commentService.saveComment(comment);
        return "redirect:/comments/" + cartoonId;
    }

查询帖子

@Override
    public Page<Cartoon> listCartoon(Pageable pageable, CartoonQuery cartoon) {

        return cartoonRepository.findAll(new Specification<Cartoon>() {
            @Override
            public Predicate toPredicate(Root<Cartoon> root, CriteriaQuery<?> cq, CriteriaBuilder cb) {
                List<Predicate> predicates=new ArrayList<>();
                //动态查询条件
                //TODO 1 查询标题
                if(!"".equals(cartoon.getTitle()) && cartoon.getTitle()!=null){
                    predicates.add(cb.like(root.<String>get("title"),"%"+cartoon.getTitle()+"%"));
                }
                //TODO 2 查询分类
                if(cartoon.getTypeId()!=null){
                    predicates.add(cb.equal(root.<Type>get("type").get("id"),cartoon.getTypeId()));
                }
                //TODO 3 是否推荐
                if(cartoon.isRecommend()){
                    predicates.add(cb.equal(root.<Boolean>get("recommend"),cartoon.isRecommend()));
                }
                cq.where(predicates.toArray(new Predicate[predicates.size()]));
                return null;
            }
        },pageable);
    }

以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。

好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~

标签:comment,基于,predicates,springboot,comments,帖子,动漫,cartoonId,cartoon
From: https://blog.51cto.com/u_14544277/7368840

相关文章

  • 基于SSM的小区缴费系统
    博主主页:猫头鹰源码博主简介:Java领域优质创作者、博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询项目介绍: 该系统基于ssm整合,数据层为MyBatis,mysql数据库,具有完整的业......
  • 基于SSM的日上(化妆品)商城
    博主主页:猫头鹰源码博主简介:Java领域优质创作者、博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询项目介绍: 该系统创作于2022年2月,包含详细数据库设计。基于SSM整合,数据......
  • Springboot整合knife4j配置swagger教程-干货
    开启swagger文档,直接上教程。第一步:引入依赖<!--swagger依赖--><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>3.0.3</version></de......
  • TIM-有感BLDC实现解析-基于CH32V203
    TIM-有感BLDC实现解析-基于CH32V2031、BLDC运行基本原理简要介绍在图1-20(a)中,AB相通电,电流处于转子产生的磁场内,根据左手定则,我们判断线圈AA’中的上半部导线A受到一个顺时针方向的电磁力,而AA’的下半部导线A’也受到一个顺时针方向的电磁力。由于线圈绕组在定子上,定子是固定不......
  • SpringBoot项目报java.lang.IllegalStateException: Cannot load configuration class
    报错摘要:java.lang.IllegalStateException:Cannotloadconfigurationclass:com.imooc.demo.DemoApplication,Causedby:java.lang.ExceptionInInitializerError:null,Causedby:org.springframework.cglib.core.CodeGenerationException:java.lang.reflect.I......
  • 基于VGG-Net网络的道路语义分割
    1.目的项目基于VGG-Net网络实现道路图像的语义分割,利用英特尔开发工具,验证经过英特尔开发工具优化后的训练时间与推理时间与未经优化前推理时间的差异。2.关键实施细节系统基于Tensorflow进行程序的开发,使用英特尔oneAPIAI分析工具套件分析与原始版本的区别。采用端到端的方式进行......
  • drf之请求,drf 之响应,drf之响应格式,两个视图基类,基于GenericAPIView,5个视图扩展类
    drf之请求1.1之请求Request类#data#query_params#用起来跟之前一样了解: request._request视图类的方法中:self是咱们写的视图类的对象,self.request是新的request,self.request是一个HttpRequest对象,它提供了许多属性和方法来访问和处理请求的信息.1.2......
  • 基于springboot+vue的宠物商城系统(前后端分离)
    博主主页:猫头鹰源码博主简介:Java领域优质创作者、博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询文末联系获取项目介绍: 本系统以宠物商城为主题,采用前后端分离,项目代码......
  • 基于uniapp的药品商城外卖小程序
    博主主页:猫头鹰源码博主简介:Java领域优质创作者、博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询项目介绍: 本系统2022年12月26日创作完成,该系统包含小程序端和管理端,系......
  • 基于springboot+vue的商城系统(电商平台)(前后端分离)
    博主主页:猫头鹰源码博主简介:Java领域优质创作者、博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询项目介绍: 本系统以商城为主题,采用前后端分离,项目代码工整,结构清晰,适合......