基于Java+SpringBoot+Vue实现前后端分离癌症患者交流平台

本文介绍了使用JavaSpringBoot框架、前端JavaScript、Vue等技术开发的癌症患者交流平台,包括用户交互、资源管理、论坛交流等功能。系统采用MySQL数据库,确保了数据管理和系统维护的便捷性。通过实际开发,作者强调了实践和经验在系统开发中的重要性,同时也指出了系统存在的改进空间。
摘要由CSDN通过智能技术生成

文末获取源码

开发语言:Java

使用框架:spring boot

前端技术:JavaScript、Vue 、css3

开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code

数据库:MySQL 5.7/8.0

数据库管理工具:phpstudy/Navicat

JDK版本:jdk1.8

Maven: apache-maven 3.8.1-bin

一、前言介绍 

癌症患者交流平台,主要的模块包括查看首页、轮播图、抗癌故事管理、资源管理(癌症科普、科普分类)、交流管理(抗癌论坛、论坛分类)、系统用户、模块管理(抗癌分类、抗癌方法、医生点评)等功能。系统中管理员主要是为了安全有效地存储和管理各类信息,还可以对系统进行管理与更新维护等操作,并且对后台有相应的操作权限。

要想实现癌症患者交流平台的各项功能,需要后台数据库的大力支持。管理员验证注册信息,收集的用户信息,并由此分析得出的关联信息等大量的数据都由数据库管理系统管理。本文中数据库服务器端采用了Mysql作为后台数据库,使Web与数据库紧密联系起来。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。

本系统的开发使获取癌症患者交流平台信息能够更加方便快捷,同时也使癌症患者交流平台管理信息变的更加系统化、有序化。系统界面较友好,易于操作。

二、系统概要设计

2.1 系统结构

本系统架构网站系统,本系统的具体功能如下:

整个系统是由多个功能模块组合而成的,要将所有的功能模块都一一列举出来,然后进行逐个的功能设计,使得每一个模块都有相对应的功能设计,然后进行系统整体的设计。

系统功能结构图,如图所示:

三、功能截图

3.1 前台用户功能模块

用户注册界面图

用户登录界面图

前台系统首页界面图

抗癌论坛界面图

抗癌方法界面图

医生点评界面图

3.2 管理员功能模块

抗癌论坛界面图

抗癌方法界面图

医生用户管理界面图

四、代码实现

package com.project.demo.controller;
import com.project.demo.constant.FindConfig;
import com.project.demo.entity.Order;
import com.project.demo.service.OrderService;
import com.project.demo.controller.base.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import javax.persistence.Query;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;
 
/**
 * (Order)表控制层
 *
 */
@RestController
@RequestMapping("order")
public class OrderController extends BaseController<Order, OrderService> {
    /**
     * 服务对象
     */
    @Autowired
    public OrderController(OrderService service) {
        setService(service);
    }
 
    @RequestMapping("/get_business_order_list")
    public Map<String, Object> getBusinessOrderList(HttpServletRequest request) {
        Map<String,String> query =  service.readQuery(request);
        String sql = "SELECT\n" +
                "\tt1.* \n" +
                "FROM\n" +
                "\t`order` t1\n" +
                "\tLEFT JOIN goods t2 ON t1.goods_id = t2.goods_id \n" +
                "WHERE\n" +
                "\tt2.user_id = "+ query.get("user_id");
        String countSql = "SELECT\n" +
                "\tcount(t1.order_id) \n" +
                "FROM\n" +
                "\t`order` t1\n" +
                "\tLEFT JOIN goods t2 ON t1.goods_id = t2.goods_id \n" +
                "WHERE\n" +
                "\tt2.user_id = "+ query.get("user_id");
        if (!StringUtils.isEmpty(query.get("order_number"))){
            sql = sql + " and t1.order_number like '%"+query.get("order_number")+"%'";
            countSql = countSql + " and t1.order_number like '%"+query.get("order_number")+"%'";
        }
        if (!StringUtils.isEmpty(query.get("title"))){
            sql = sql + " and t1.title like '%"+query.get("title")+"%'";
            countSql = countSql + " and t1.title like '%"+query.get("title")+"%'";
        }
        if (!StringUtils.isEmpty(query.get("contact_name"))){
            sql = sql + " and t1.contact_name like '%"+query.get("contact_name")+"%'";
            countSql = countSql + " and t1.contact_name like '%"+query.get("contact_name")+"%'";
        }
        if (!StringUtils.isEmpty(query.get("state"))){
            sql = sql + " and t1.state = '"+query.get("state")+"'";
            countSql = countSql + " and t1.state = '"+query.get("state")+"'";
        }
        Map<String,String> config =  service.readConfig(request);
        if (!StringUtils.isEmpty(config.get(FindConfig.PAGE))){
            int page = config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE)) ? Integer.parseInt(config.get(FindConfig.PAGE)) : 1;
            int limit = config.get(FindConfig.SIZE) != null && !"".equals(config.get(FindConfig.SIZE)) ? Integer.parseInt(config.get(FindConfig.SIZE)) : 10;
            sql = sql + " limit "+(page-1)*limit+" , "+limit;
        }
        Query select = service.runEntitySql(sql);
        Query countSelect = service.runCountSql(countSql);
        Map<String,Object> map = new HashMap<>();
        map.put("list",select.getResultList());
        map.put("count",countSelect.getSingleResult());
        return success(map);
    }
 
}
 
 

五、论文参考

六、项目总结

本系统通过对springboot和Mysql数据库的简介,从硬件和软件两反面说明了癌症患者交流平台的可行性,本文结论及研究成果如下:实现了springboot与Mysql相结合构建的癌症患者交流平台,网站可以响应式展示。通过本次癌症患者交流平台的研究与实现,我感到学海无涯,学习是没有终点的,而且实践出真知,只有多动手才能尽快掌握它,经验对系统的开发非常重要,经验不足,就难免会有许多考虑不周之处。比如要有美观的界面,更完善的功能,才能吸引更多的用户。

由于在此之前对于java知识没有深入了解,所以从一开始就碰到许多困难,例如一开始的页面显示不规范、数据库连接有问题已经无法实现参数的传递等等,不过通过在网上寻找有关资料以及同学的帮助下最后都得到了解决,在此过程中,我不仅学到了很多知识,也提高了自己解决问题的能力,尤其是学会如何从大量的信息中筛选出所需有用的信息,同时我更加深刻的体会到了,虽然书本上的大部分知识都是有价值,正确的,但实际上每个人编程的思路和对数据处理的方法、思想都是不同的,这就要求我们一定要通过实践才能找到解决问题的方案。在此次毕业设计活动中,我不断的提高了自己,也得到了宝贵的经验,我相信这些对我以后的发展都会有很大帮助。

通过这次癌症患者交流平台的开发,我参考了很多相关系统的例子,取长补短,吸取了其他系统的长处,逐步对该系统进行了完善,但是该系统还是有很多的不足之处,有待以后进一步学习。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一季春秋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值