大家好!我是职场程序猿,感谢您阅读本文,欢迎一键三连哦。
💞当前专栏:Java毕业设计
精彩专栏推荐👇🏻👇🏻👇🏻
开发运行环境
- 框架:ssm
- JDK版本:JDK1.8
- 服务器:tomcat7
- 数据库:mysql 5.7
- 数据库工具:Navicat12
- 开发软件:eclipse/myeclipse/idea
- Maven包:Maven3.3.9
- 浏览器:谷歌浏览器
源码下载地址:
https://download.csdn.net/download/m0_46388260/89272347
论文目录
【如需全文请按文末获取联系】
目录
一、项目简介
系统可以提供信息显示和相应服务,其管理员主要在系统的后台管理学院和院系,管理老师研发的科研项目信息,管理老师,管理新闻资讯。用户主要在系统的前台查询老师和科研项目,下载老师发布的论文,查看新闻资讯信息。
二、系统设计
2.1软件功能模块设计
在前面分析的管理员功能的基础上,进行接下来的设计工作,最终展示设计的管理员结构图(见下图)。管理员主要在系统的后台管理学院和院系,管理老师研发的科研项目信息,管理老师,管理新闻资讯。
在前面分析的用户功能的基础上,进行接下来的设计工作,最终展示设计的用户结构图(见下图)。用户主要在系统的前台查询老师和科研项目,下载老师发布的论文,查看新闻资讯信息。
2.2数据库设计
(1)下图是老师实体和其具备的属性。
(2)下图是科研项目实体和其具备的属性。
(4)下图是管理员实体和其具备的属性。
(7)下图为上述各实体间相互之间的关系。
三、系统项目部分截图
3.1后台管理员功能实现
老师管理
管理员进入指定功能操作区之后可以管理老师信息。其页面见下图。管理员增删改查老师信息,老师信息包括了老师所属学院,老师头像,老师的联系方式信息等。在本页面,管理员也能下载老师发布的论文文件。
添加科研项目
管理员进入指定功能操作区之后可以添加科研项目。其页面见下图。登记科研项目需要管理员对研发老师,研发时间,成果名称,成果展示的图片等进行登记并上传科研成果文件即可提交信息。
科研项目管理
管理员进入指定功能操作区之后可以管理科研项目信息。其页面见下图。管理员对当前页面显示的科研项目信息进行修改,比如修改科研项目展示图片,修改成果名称以及成果描述等资料,需要删除的科研项目信息,管理员也能在本页面进行删除。
学院管理
管理员进入指定功能操作区之后可以管理学院。其页面见下图。管理员修改学院名称,删除学院信息,查询学院信息。
3.2前台用户功能实现
老师信息
用户进入系统前台之后可以查看老师信息。其页面见下图。用户根据老师的地区,学院或院系信息可以查询指定老师。
查询科研项目
用户进入系统前台之后可以查询科研项目。其页面见下图。用户提交成果名称可以获取指定的科研项目信息。
科研项目信息
用户进入系统前台之后可以查看科研项目信息。其页面见下图。用户点击科研项目展示图片即可进入其详情页面,用户就能查看科研项目简介信息。
四、部分核心代码
package com.controller;
import java.text.SimpleDateFormat;
import java.util.*;
import javax.servlet.http.HttpServletRequest;
import com.annotation.IgnoreAuth;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.entity.XueyuanEntity;
import com.service.XueyuanService;
import com.utils.PageUtils;
import com.utils.R;
/**
* 学院
* 后端接口
* @author
* @email
* @date 2021-03-17
*/
@RestController
@Controller
@RequestMapping("/xueyuan")
public class XueyuanController {
private static final Logger logger = LoggerFactory.getLogger(XueyuanController.class);
@Autowired
private XueyuanService xueyuanService;
/**
* 后端列表
*/
@IgnoreAuth
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params){
logger.debug("Controller:"+this.getClass().getName()+",page方法");
PageUtils page = xueyuanService.queryPage(params);
return R.ok().put("data", page);
}
/**
* 后端详情
*/
@IgnoreAuth
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
logger.debug("Controller:"+this.getClass().getName()+",info方法");
XueyuanEntity xueyuan = xueyuanService.selectById(id);
if(xueyuan!=null){
return R.ok().put("data", xueyuan);
}else {
return R.error(511,"查不到数据");
}
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody XueyuanEntity xueyuan, HttpServletRequest request){
logger.debug("Controller:"+this.getClass().getName()+",save");
Wrapper<XueyuanEntity> queryWrapper = new EntityWrapper<XueyuanEntity>()
.eq("name", xueyuan.getName())
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
XueyuanEntity xueyuanEntity = xueyuanService.selectOne(queryWrapper);
if(xueyuanEntity==null){
xueyuanService.insert(xueyuan);
return R.ok();
}else {
return R.error(511,"表中有相同数据");
}
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody XueyuanEntity xueyuan, HttpServletRequest request){
logger.debug("Controller:"+this.getClass().getName()+",update");
//根据字段查询是否有相同数据
Wrapper<XueyuanEntity> queryWrapper = new EntityWrapper<XueyuanEntity>()
.notIn("id",xueyuan.getId())
.eq("name", xueyuan.getName())
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
XueyuanEntity xueyuanEntity = xueyuanService.selectOne(queryWrapper);
if(xueyuanEntity==null){
xueyuanService.updateById(xueyuan);//根据id更新
return R.ok();
}else {
return R.error(511,"表中有相同数据");
}
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
logger.debug("Controller:"+this.getClass().getName()+",delete");
xueyuanService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
获取源码或论文
如需对应的论文或源码,以及其他定制需求,也可以下方微信联系我。