文末获取源码
开发语言: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知识没有深入了解,所以从一开始就碰到许多困难,例如一开始的页面显示不规范、数据库连接有问题已经无法实现参数的传递等等,不过通过在网上寻找有关资料以及同学的帮助下最后都得到了解决,在此过程中,我不仅学到了很多知识,也提高了自己解决问题的能力,尤其是学会如何从大量的信息中筛选出所需有用的信息,同时我更加深刻的体会到了,虽然书本上的大部分知识都是有价值,正确的,但实际上每个人编程的思路和对数据处理的方法、思想都是不同的,这就要求我们一定要通过实践才能找到解决问题的方案。在此次毕业设计活动中,我不断的提高了自己,也得到了宝贵的经验,我相信这些对我以后的发展都会有很大帮助。
通过这次癌症患者交流平台的开发,我参考了很多相关系统的例子,取长补短,吸取了其他系统的长处,逐步对该系统进行了完善,但是该系统还是有很多的不足之处,有待以后进一步学习。