基于Java+Springmvc+vue+element实现大学生科技创新创业项目管理系统
??博主介紹:?公司項目主程、全網(wǎng)粉絲10W+,csdn特邀作者、博客專家、CSDN新星計劃導(dǎo)師、java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者,CSDN博客之星TOP100、掘金/華為云/阿里云/InfoQ等平臺優(yōu)質(zhì)作者、專注于Java技術(shù)領(lǐng)域和畢業(yè)設(shè)計?
公眾號:java奧斯卡??簡歷模板、學(xué)習(xí)資料、面試題庫等都給你💪
🍅文末獲取源碼聯(lián)系🍅
🍅CSDN官方推薦10W+JAVA技術(shù)人文章發(fā)布打卡社區(qū)🍅
前言介紹:
? ? ? ????隨著社會的不斷快速發(fā)展,計算機的影響是全面且深入的。人們生活水平的不斷提高,日常生活中人們對大學(xué)生創(chuàng)新創(chuàng)業(yè)項目管理方面的要求也在不斷的提高、需要大學(xué)生創(chuàng)新創(chuàng)業(yè)項目管理的人數(shù)更是不斷增加,使得大學(xué)生創(chuàng)新創(chuàng)業(yè)項目管理的開發(fā)成為必需而且緊迫的事情。大學(xué)生創(chuàng)新創(chuàng)業(yè)項目管理主要是借助計算機,通過對大學(xué)生創(chuàng)新創(chuàng)業(yè)項目管理所需的信息管理,增加用戶選擇,同時也方便對廣大用戶信息的及時查詢、修改以及對用戶信息的及時了解。大學(xué)生創(chuàng)新創(chuàng)業(yè)項目管理對一些用戶帶來了更多的便利, 該系統(tǒng)通過和Mysql數(shù)據(jù)庫管理系統(tǒng)軟件協(xié)作來滿足用戶的需求保存數(shù)據(jù)等。
系統(tǒng)設(shè)計:
開發(fā)工具:idea/eclipse、navicat for mysql
開發(fā)語言:java、jdk1.8、mysql5
硬件環(huán)境:Win10系統(tǒng)、Google等。
主要技術(shù):springmvc、mybatis、vue 、java等
主要功能設(shè)計:首頁、個人中心、學(xué)生管理、指導(dǎo)老師管理、評審專家管理、項目任務(wù)書管理、中期檢查報告管理、項目申請書管理、結(jié)項報告管理、項目進展日志管理、項目立項申請管理、項目評價管理
?
功能截圖:
用戶登錄注冊:管理員通過輸入用戶名、密碼、選擇角色等信息,然后點擊登錄就能登錄到系統(tǒng)
管理員登錄進入系統(tǒng)之后,就可以對所有的信息進行查看,可以查看到首頁、個人中心、學(xué)生管理、指導(dǎo)老師管理、評審專家管理、項目任務(wù)書管理、中期檢查報告管理、項目申請書管理、結(jié)項報告管理、項目進展日志管理、項目立項申請管理、項目評價管理等,并且還可以對其進行相應(yīng)的操作管理
學(xué)生信息管理:在學(xué)生管理頁面中可以對索引、姓名、學(xué)號、性別、手機、郵箱、聯(lián)系地址、身份證、照片等信息進行詳情,修改或刪除等操作
指導(dǎo)老師管理:指導(dǎo)老師管理,在指導(dǎo)老師管理頁面中可以對索引、工號、指導(dǎo)老師姓名、性別、手機、郵箱、身份證、圖片等信息進行詳情,修改或刪除等操作
評審專家管理:在評審專家管理頁面中可以對索引、賬號、姓名、性別、身份證、手機、郵箱、照片等信息進行詳情,修改或刪除等操作
項目任務(wù)書管理:在項目申請書管理頁面中可以對索引、項目名稱、學(xué)號、姓名、手機、郵箱、指導(dǎo)老師姓名、工號、文件、聯(lián)系地址、申請時間、審核回復(fù)、審核狀態(tài)等信息進行詳情,修改或刪除等操作
中期檢查報告管理:在中期檢查報告管理頁面中可以對索引、項目名稱、項目類別、學(xué)號、文件、編號、項目負(fù)責(zé)人、指導(dǎo)老師姓名、工號、提交時間、審核回復(fù)、審核狀態(tài)等信息進行詳情,修改或刪除等操作
項目申請書管理:在項目進展日志管理頁面中可以對索引、項目名稱、文件、指導(dǎo)老師姓名、工號、學(xué)號、姓名、提交時間等信息進行詳情,修改或刪除等操作
結(jié)項報告管理:在結(jié)項報告管理頁面中可以對索引、項目名稱、項目類型、學(xué)號、文件、編號、項目負(fù)責(zé)人、指導(dǎo)老師姓名、工號、提交時間、審核回復(fù)、審核狀態(tài)等信息進行詳情,修改或刪除等操作
項目進展日志管理:在項目進展日志管理頁面中可以對索引、項目名稱、文件、指導(dǎo)老師姓名、工號、學(xué)號、姓名、提交時間等信息進行詳情,修改或刪除等操作
項目評價管理:在項目進展日志管理頁面中可以對索引、項目名稱、文件、指導(dǎo)老師姓名、工號、學(xué)號、姓名、提交時間等信息進行詳情,修改或刪除等操作
數(shù)據(jù)設(shè)計:
項目申請書管理實體屬性圖,如圖所示:
?結(jié)項報告管理實體屬性圖如圖所示:
部分?jǐn)?shù)據(jù)庫表設(shè)計:
將數(shù)據(jù)庫概念設(shè)計的E-R圖轉(zhuǎn)換為關(guān)系數(shù)據(jù)庫。在關(guān)系數(shù)據(jù)庫中,數(shù)據(jù)關(guān)系由數(shù)據(jù)表組成,但是表的結(jié)構(gòu)表現(xiàn)在表的字段上。
表:項目任務(wù)書
| 字段名稱 | 類型 | 長度 | 字段說明 |
| id | bigint | 主鍵 | |
| addtime | timestamp | 創(chuàng)建時間 | |
| xiangmumingcheng | varchar2 | 200 | 項目名稱 |
| wenjian | varchar2 | 200 | 文件 |
| lixiangdengji | varchar2 | 200 | 立項等級 |
| xiangmubianhao | varchar2 | 200 | 項目編號 |
| xiangmufuzeren | varchar2 | 200 | 項目負(fù)責(zé)人 |
| xuehao | varchar2 | 200 | 學(xué)號 |
| suozaixueyuan | varchar2 | 200 | 所在學(xué)院 |
| zhidaolaoshixingming | varchar2 | 200 | 指導(dǎo)老師姓名 |
| gonghao | varchar2 | 200 | 工號 |
| kaishishijian | datetime | 開始時間 | |
| jieshushijian | datetime | 結(jié)束時間 | |
| shuoming | longtext | 4294967295 | 說明 |
表:項目評價
| 字段名稱 | 類型 | 長度 | 字段說明 |
| id | bigint | 主鍵 | |
| addtime | timestamp | 創(chuàng)建時間 | |
| xiangmumingcheng | varchar2 | 200 | 項目名稱 |
| xiangmuleixing | varchar2 | 200 | 項目類型 |
| xiangmufuzeren | varchar2 | 200 | 項目負(fù)責(zé)人 |
| xuehao | varchar2 | 200 | 學(xué)號 |
| zhidaolaoshixingming | varchar2 | 200 | 指導(dǎo)老師姓名 |
| gonghao | varchar2 | 200 | 工號 |
| pingjia | varchar2 | 200 | 評價 |
| shuoming | longtext | 4294967295 | 說明 |
表:項目立項申請
| 字段名稱 | 類型 | 長度 | 字段說明 |
| id | bigint | 主鍵 | |
| addtime | timestamp | 創(chuàng)建時間 | |
| xiangmumingcheng | varchar2 | 200 | 項目名稱 |
| shangchuanwenjian | varchar2 | 200 | 上傳文件 |
| gonghao | varchar2 | 200 | 工號 |
| zhidaolaoshixingming | varchar2 | 200 | 指導(dǎo)老師姓名 |
| xuehao | varchar2 | 200 | 學(xué)號 |
| xingming | varchar2 | 200 | 姓名 |
| shenqingshijian | datetime | 申請時間 | |
| shuoming | longtext | 4294967295 | 說明 |
| sfsh | varchar2 | 200 | 是否審核 |
| shhf | longtext | 4294967295 | 審核回復(fù) |
表:項目進展日志
| 字段名稱 | 類型 | 長度 | 字段說明 |
| id | bigint | 主鍵 | |
| addtime | timestamp | 創(chuàng)建時間 | |
| xiangmumingcheng | varchar2 | 200 | 項目名稱 |
| wenjian | varchar2 | 200 | 文件 |
| xuehao | varchar2 | 200 | 學(xué)號 |
| xingming | varchar2 | 200 | 姓名 |
| zhidaolaoshixingming | varchar2 | 200 | 指導(dǎo)老師姓名 |
| gonghao | varchar2 | 200 | 工號 |
| tijiaoshijian | datetime | 提交時間 | |
| shuoming | longtext | 4294967295 | 說明 |
表4-5:用戶表
| 字段名稱 | 類型 | 長度 | 字段說明 |
| id | bigint | 主鍵 | |
| username | varchar2 | 100 | 用戶名 |
| password | varchar2 | 100 | 密碼 |
| role | varchar2 | 100 | 角色 |
| addtime | timestamp | 新增時間 |
表:中期檢查報告
| 字段名稱 | 類型 | 長度 | 字段說明 |
| id | bigint | 主鍵 | |
| addtime | timestamp | 創(chuàng)建時間 | |
| xiangmumingcheng | varchar2 | 200 | 項目名稱 |
| xiangmuleibie | varchar2 | 200 | 項目類別 |
| wenjian | varchar2 | 200 | 文件 |
| bianhao | varchar2 | 200 | 編號 |
| xiangmufuzeren | varchar2 | 200 | 項目負(fù)責(zé)人 |
| xuehao | varchar2 | 200 | 學(xué)號 |
| zhidaolaoshixingming | varchar2 | 200 | 指導(dǎo)老師姓名 |
| gonghao | varchar2 | 200 | 工號 |
| tijiaoshijian | datetime | 提交時間 | |
| shuoming | longtext | 4294967295 | 說明 |
| sfsh | varchar2 | 200 | 是否審核 |
| shhf | longtext | 4294967295 | 審核回復(fù) |
代碼實現(xiàn):
/*** 項目立項申請* 后端接口* @author * @email * @date 2022-04-10 16:31:21*/ @RestController @RequestMapping("/xiangmulixiangshenqing") public class XiangmulixiangshenqingController {@Autowiredprivate XiangmulixiangshenqingService xiangmulixiangshenqingService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,XiangmulixiangshenqingEntity xiangmulixiangshenqing, HttpServletRequest request){String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("zhidaolaoshi")) {xiangmulixiangshenqing.setGonghao((String)request.getSession().getAttribute("username"));}if(tableName.equals("xuesheng")) {xiangmulixiangshenqing.setXuehao((String)request.getSession().getAttribute("username"));}EntityWrapper<XiangmulixiangshenqingEntity> ew = new EntityWrapper<XiangmulixiangshenqingEntity>();PageUtils page = xiangmulixiangshenqingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xiangmulixiangshenqing), params), params));return R.ok().put("data", page);}/*** 前端列表*/@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,XiangmulixiangshenqingEntity xiangmulixiangshenqing, HttpServletRequest request){EntityWrapper<XiangmulixiangshenqingEntity> ew = new EntityWrapper<XiangmulixiangshenqingEntity>();PageUtils page = xiangmulixiangshenqingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xiangmulixiangshenqing), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( XiangmulixiangshenqingEntity xiangmulixiangshenqing){EntityWrapper<XiangmulixiangshenqingEntity> ew = new EntityWrapper<XiangmulixiangshenqingEntity>();ew.allEq(MPUtil.allEQMapPre( xiangmulixiangshenqing, "xiangmulixiangshenqing")); return R.ok().put("data", xiangmulixiangshenqingService.selectListView(ew));}/*** 查詢*/@RequestMapping("/query")public R query(XiangmulixiangshenqingEntity xiangmulixiangshenqing){EntityWrapper< XiangmulixiangshenqingEntity> ew = new EntityWrapper< XiangmulixiangshenqingEntity>();ew.allEq(MPUtil.allEQMapPre( xiangmulixiangshenqing, "xiangmulixiangshenqing")); XiangmulixiangshenqingView xiangmulixiangshenqingView = xiangmulixiangshenqingService.selectView(ew);return R.ok("查詢項目立項申請成功").put("data", xiangmulixiangshenqingView);}/*** 后端詳情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){XiangmulixiangshenqingEntity xiangmulixiangshenqing = xiangmulixiangshenqingService.selectById(id);return R.ok().put("data", xiangmulixiangshenqing);}/*** 前端詳情*/@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){XiangmulixiangshenqingEntity xiangmulixiangshenqing = xiangmulixiangshenqingService.selectById(id);return R.ok().put("data", xiangmulixiangshenqing);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody XiangmulixiangshenqingEntity xiangmulixiangshenqing, HttpServletRequest request){xiangmulixiangshenqing.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(xiangmulixiangshenqing);xiangmulixiangshenqingService.insert(xiangmulixiangshenqing);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody XiangmulixiangshenqingEntity xiangmulixiangshenqing, HttpServletRequest request){xiangmulixiangshenqing.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(xiangmulixiangshenqing);xiangmulixiangshenqingService.insert(xiangmulixiangshenqing);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody XiangmulixiangshenqingEntity xiangmulixiangshenqing, HttpServletRequest request){//ValidatorUtils.validateEntity(xiangmulixiangshenqing);xiangmulixiangshenqingService.updateById(xiangmulixiangshenqing);//全部更新return R.ok();}/*** 刪除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){xiangmulixiangshenqingService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}Wrapper<XiangmulixiangshenqingEntity> wrapper = new EntityWrapper<XiangmulixiangshenqingEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("zhidaolaoshi")) {wrapper.eq("gonghao", (String)request.getSession().getAttribute("username"));}if(tableName.equals("xuesheng")) {wrapper.eq("xuehao", (String)request.getSession().getAttribute("username"));}int count = xiangmulixiangshenqingService.selectCount(wrapper);return R.ok().put("count", count);}} <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"><mvc:default-servlet-handler/><!-- Controller包(自動注入) --><context:component-scan base-package="com.controller"/><!-- FastJson注入 --><mvc:annotation-driven><!-- <mvc:message-converters register-defaults="true">避免IE執(zhí)行AJAX時,返回JSON出現(xiàn)下載文件FastJson<bean id="fastJsonHttpMessageConverter"class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"><property name="supportedMediaTypes"><list>這里順序不能反,一定先寫text/html,不然ie下出現(xiàn)下載提示<value>text/html;charset=UTF-8</value><value>application/json;charset=UTF-8</value></list></property><property name="features"><array value-type="com.alibaba.fastjson.serializer.SerializerFeature">避免循環(huán)引用<value>DisableCircularReferenceDetect</value>是否輸出值為null的字段<value>WriteMapNullValue</value>數(shù)值字段如果為null,輸出為0,而非null<value>WriteNullNumberAsZero</value>字符類型字段如果為null,輸出為"",而非null <value>WriteNullStringAsEmpty</value>List字段如果為null,輸出為[],而非null<value>WriteNullListAsEmpty</value>Boolean字段如果為null,輸出為false,而非null<value>WriteNullBooleanAsFalse</value></array></property></bean></mvc:message-converters> --></mvc:annotation-driven><!-- 靜態(tài)資源配置 --><mvc:resources mapping="/resources/**" location="/resources/"/><!-- 對模型視圖名稱的解析,即在模型視圖名稱添加前后綴 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/pages/"/><property name="suffix" value=".jsp"/></bean><!-- 攔截器配置 --><mvc:interceptors><mvc:interceptor><mvc:mapping path="/**"/><mvc:exclude-mapping path="/upload"/><bean class="com.interceptor.AuthorizationInterceptor"/></mvc:interceptor></mvc:interceptors><!-- 上傳限制 --><bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><!-- 上傳文件大小限制為31M,31*1024*1024 --><property name="maxUploadSize" value="32505856"/></bean></beans>論文參考:
摘??要
1 系統(tǒng)概述
1.1 概述
1.2課題意義
1.3主要內(nèi)容
2 系統(tǒng)開發(fā)環(huán)境
2.1 SSM框架
2.2 JAVA簡介
2.3訪問數(shù)據(jù)庫實現(xiàn)方法
2.4系統(tǒng)對MySQL數(shù)據(jù)庫的兩種連接方式
2.5 MySql數(shù)據(jù)庫
3 需求分析
3.1技術(shù)可行性:技術(shù)背景
3.2經(jīng)濟可行性
3.3操作可行性
3.4系統(tǒng)設(shè)計規(guī)則
3.5系統(tǒng)流程和邏輯
4系統(tǒng)概要設(shè)計
4.1 概述
4.2 系統(tǒng)結(jié)構(gòu)
4.3. 數(shù)據(jù)庫設(shè)計
4.3.1 數(shù)據(jù)庫實體
4.3.2 數(shù)據(jù)庫設(shè)計表
5 系統(tǒng)詳細(xì)設(shè)計
5.1管理員功能模塊
5.2學(xué)生功能模塊
5.3指導(dǎo)老師功能模塊
5.4評審專家功能模塊
6 系統(tǒng)測試
6.1系統(tǒng)測試的目的
6.2系統(tǒng)測試方法
6.3 測試結(jié)果
結(jié)論
致 謝
參考文獻
源碼獲取:
大家點贊、收藏、關(guān)注、評論啦 、查看👇🏻👇🏻👇🏻微信公眾號獲取聯(lián)系方式👇🏻👇🏻👇🏻
打卡 文章 更新?261/? 365天
?精彩專欄推薦訂閱:在下方專欄👇🏻👇🏻👇🏻👇🏻
Java項目精品實戰(zhàn)案例《100套》
web前端期末大作業(yè)網(wǎng)頁實戰(zhàn)《100套》
總結(jié)
以上是生活随笔為你收集整理的基于Java+Springmvc+vue+element实现大学生科技创新创业项目管理系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mfc程序转化为qt_小峰的QT学习笔记
- 下一篇: vue 鼠标点击事件_VBA代码解决方案