23基于java教师科研项目管理系统

Posted projecthelp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了23基于java教师科研项目管理系统相关的知识,希望对你有一定的参考价值。

基于java教师科研项目管理系统,可用于高校创新项目申报平台,大学项目申报平台,高校大创项目申报,大学生创新项目申报,高校科研管理平台,科研管理平台,技术类项目申报,互联网+项目申报系统;

背景及意义

目前许多人仍将传统的纸质工具作为信息管理的主要工具,而网络技术的应用只是起到辅助作用。在对网络工具的认知程度上,较为传统的office软件等仍是人们使用的主要工具,而相对全面且专业的信息管理软件仍没有得到大多数人的了解或认可。本选题则旨在通过标签分类管理等方式,实现教研的各种功能,从而达到对科研管理系统的管理。

项目环境

> 前端:html, css, js, vue, jquery等; 
> 后端:java, spring,maven,SSM,Springboot等 ; 
> 开发工具:支持eclipse或idea
> 数据库:mysql7
> 更多内容可查看:http://projecthelp.top

设计

以院系申报科技项目为例:科研管理系统的实现主要包括教师、科研管理人员和系统管理员三个用户角色,由于系统用户角色不同所使用的功能模块相应不同,管理员根据需求对系统功能模块进行维护管理操作。

部分核心代码

import org.springframework.stereotype.Service;
import xyz.shiguangliang.mybatis.dao.UserMapper;

import xyz.shiguangliang.mybatis.domain.User;
import xyz.shiguangliang.service.UserService;
import xyz.shiguangliang.util.query.QueryInfo;

import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Objects;

@Service
public class UserServiceImpl implements UserService 
    @Resource
    private UserMapper userMapper;

    //登录
    @Override
    public User login(String username, String password) 
        User user = userMapper.selectLogin(username,password);
        if (user != null) 
            //登录次数加一
            if (user.getIntimes() !=  null) 
                user.setIntimes(user.getIntimes() + 1);
            else 
                user.setIntimes(1);
            
            //更新登录时间
            user.setLastlogin(new Date());
            return user;
        
        return null;
    

    //注册
    @Override
    public boolean register(User user) 
        int i = 0;
        //检测用户是否存在
        User user1 = userMapper.selectUsername(user.getUsername());
        if (user1 == null) 
            i = userMapper.insert(user);
        
        return i > 0;
    

    //用户列表
    @Override
    public QueryInfo getUserList(String query, Integer pagenum,Integer pagesize) 
        QueryInfo queryInfo = new QueryInfo();
        int start;
        int end;
        if (pagenum == null||pagesize == null)
            pagenum =0;
            pagesize = 3;
        
        start = (pagenum-1)*pagesize;
        end = pagesize;
        int userSize = userMapper.selectUserListLimitSize(query,start,end);
        List<User> users = userMapper.selectUserListLimit(query,start,end);
        queryInfo.setList(users);
        queryInfo.setTotal(userSize);
        return queryInfo;
    

    //删除用户
    @Override
    public int deleteUser(Integer tid) 
        return userMapper.deleteByPrimaryKey(tid);
    

    //通过id查找用户
    @Override
    public User findById(Integer tid) 
        return userMapper.selectByPrimaryKey(tid);
    



    //更新用户
    @Override
    public int updateUser(User user) 
        if (user.getPassword()==null|| Objects.equals(user.getPassword(), ""))
            user.setPassword(userMapper.selectByPrimaryKey(user.getTid()).getPassword());
        
        return userMapper.updateByPrimaryKey(user);
    

    //通过用户名查找用户
    @Override
    public User findByUsername(String username) 
        return userMapper.selectUsername(username);
    

    //获取用户权限
    @Override
    public int getPower(String username) 
        return userMapper.selectUsername(username).getPower();
    

useMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="xyz.shiguangliang.mybatis.dao.UserMapper">
  <resultMap id="BaseResultMap" type="xyz.shiguangliang.mybatis.domain.User">
    <id column="tid" jdbcType="INTEGER" property="tid" />
    <result column="username" jdbcType="VARCHAR" property="username" />
    <result column="password" jdbcType="VARCHAR" property="password" />
    <result column="teachername" jdbcType="VARCHAR" property="teachername" />
    <result column="dno" jdbcType="INTEGER" property="dno" />
    <result column="power" jdbcType="INTEGER" property="power" />
    <result column="intimes" jdbcType="INTEGER" property="intimes" />
    <result column="lastlogin" jdbcType="TIMESTAMP" property="lastlogin" />
  </resultMap>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
    delete from teacher
    where tid = #tid,jdbcType=INTEGER
  </delete>
  <insert id="insert" parameterType="xyz.shiguangliang.mybatis.domain.User">
    insert into teacher (tid, username, password, 
      teachername, dno, power, 
      intimes, lastlogin)
    values (#tid,jdbcType=INTEGER, #username,jdbcType=VARCHAR, #password,jdbcType=VARCHAR, 
      #teachername,jdbcType=VARCHAR, #dno,jdbcType=INTEGER, #power,jdbcType=INTEGER, 
      #intimes,jdbcType=INTEGER, #lastlogin,jdbcType=TIMESTAMP)
  </insert>
  <update id="updateByPrimaryKey" parameterType="xyz.shiguangliang.mybatis.domain.User">
    update teacher
    set username = #username,jdbcType=VARCHAR,
      password = #password,jdbcType=VARCHAR,
      teachername = #teachername,jdbcType=VARCHAR,
      dno = #dno,jdbcType=INTEGER,
      power = #power,jdbcType=INTEGER,
      intimes = #intimes,jdbcType=INTEGER,
      lastlogin = #lastlogin,jdbcType=TIMESTAMP
    where tid = #tid,jdbcType=INTEGER
  </update>
  <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
    select tid, username, password, teachername, dno, power, intimes, lastlogin
    from teacher
    where tid = #tid,jdbcType=INTEGER
  </select>
  <select id="selectAll" resultMap="BaseResultMap">
    select tid, username, password, teachername, dno, power, intimes, lastlogin
    from teacher
  </select>
    <select id="selectLogin" resultType="xyz.shiguangliang.mybatis.domain.User">
        select tid, username, password, teachername, dno, power, intimes, lastlogin
        from teacher
        where username = #username and password = #password
    </select>
  <select id="selectUsername" resultType="xyz.shiguangliang.mybatis.domain.User">
    select tid, username, password, teachername, dno, power, intimes, lastlogin
        from teacher
        where username = #username
  </select>
  <select id="selectUserListLimit" resultType="xyz.shiguangliang.mybatis.domain.User">
    select tid, username, password, teachername, dno, power, intimes, lastlogin
    from teacher
    where
    /*条件判断*/
    <if test="#query != null and #query != \'\'">
      /*模糊查询*/
      <bind name="query2" value="\'%\' + query + \'%\'"/>
      username like #query2
    </if>
    LIMIT #start,#end
  </select>
  <select id="selectUserListLimitSize" resultType="java.lang.Integer">
    select count(*)
    from teacher
    where
    /*条件判断*/
    <if test="#query != null and #query != \'\'">
      /*模糊查询*/
      <bind name="query2" value="\'%\' + query + \'%\'"/>
      username like #query2
    </if>
  </select>
</mapper>

系统模块划分和部分截图

学生角色

  • 首页

    展示当前所有项目的信息,还包括当前科技项目的时间阶段,包括项目申报阶段,中期检查阶段和项目结题阶段

  • 学生项目申报

    学生根据项目情况,可以进行项目的申报,填写对应的信息和上传对应的文件和附件,提供即可申报一次项目,学生还可以查看自己所有的申报的项目列表:

  • 学生项目中期检查

    待刚刚申报的项目完成之后,由教师角色进行审核通过之后,等到项目中期阶段,学生就可以登录到项目进行填写中期项目检查申请,同时还可以查看到自己所有项目的中期检查列表:

  • 项目结题
    待教师登录系统进行中期检查通过之后,学生完成项目设计,待结题时间阶段,学生可以进行项目结题的申请,学生提交项目结题的材料信息,进行项目结题申报:

  • 用户基本设置
    学生可以对自己的个人的基本信息进行修改和密码修改等:

教师角色


教师角色登录到系统中,首页展示项目的所有信息,同时可以对项目的监控,若学生提交项目信息,会有消息提醒代办业务:

  • 项目审核

    教师可以对项目的申报,中期和结题的不同阶段进行审核,不同阶段的项目会在不同的列表中显示进行审核,对不同项目的审核,需要提交不同的审核意见,比如对项目审报的审核,会有下面的审核意见:

  • 项目设置

    教师可以对此次科研项目时间不同阶段进行设置

  • 管理员模块
    管理员角色就是对教师模块增加用户(包括学生和教师)管理,可以实现增加用户和修改用户

适用场景

基于Java的在线考试系统(附:源码和课件)

项目介绍:

本系统是一个基于java的在线考试系统。它的用户由学生、教师和系统管理员组成。学生登陆系统可以进行在线测试和成绩查询。当学生登陆时,系统会随机地为学生选取试题组成考卷。当学生提交考卷后,系统会自动批改客观题,并将试卷提供给教师查看和提醒教师对试卷主观题进行修改。待教师修改完试卷后,系统会自动生成考生成绩和分数段统计信息。学生可以查询自己的成绩信息和试卷,以便更好地了解自己的学习情况。教师也可以通过分数段统计信息更好地了解学生的学生情况。后台管理员可以对考题,考试设置信息,用户信息进行维护。学生,教师,管理员都可以对个人信息进行维护。

本系统采用B/S模式设计,一切操作均在浏览器上进行。系统所用到的技术有HTML,CSS,javascript,jsp/servlet等。数据库选用SQLServer2005,web服务器选用TomCat。前台设计主要在DreamWeaver上设计完成的,后台开发主要在Eclipse上完成的。

功能设计

系统分为两个个角色管理:管理员,教师和学生

开发环境:

IDEA+JDK8+MySQL5.7+navicate

主要技术

用的技术都是比较基础好学通俗易懂的Java jsp+mysql+servlet+jdbc+jquery+html+css等

具体功能实现三大模块(管理员,教师,学生):

系统的登陆页面:

管理员的功能:课程管理(对课程信息进行增删改查)/班级管理(对班级信息进行增删改查)/教师管理(对教师信息进行增删改查)

教师的功能:学生管理(对学生信息进行增删改查)/考试管理(对考试进行增删改查)/题库管理(对题库信息进行增删改查)/成绩管理(对成绩信息进行增删改查)

学生的功能:考试中心(学生上线进行考试)/修改密码管理/考试查看自己的成绩

本项目功能丰富 界面美观 非常适合零基础小白练手和实战,用来提高自己的框架熟练度和项目独立做项目的流程。

大家如果需要系统配套的源码 课件等资料可以私信我, 分享给大家~~

想要更多的Java项目实战的也可以私信我呢~~~

以上是关于23基于java教师科研项目管理系统的主要内容,如果未能解决你的问题,请参考以下文章

基于Java的在线考试系统(附:源码和课件)

求《高校科研管理系统》毕业论文源代码,要求是java+SSH+Oracle开发。

课程设计任务分工说明自评意见自评等级指导 教师 意见--基于java的进销存管理系统课程设计

基于java的学生信息管理系统

java计算机毕业设计ssm+vue高校科研管理系统

java基于ssm的在线考试试题库系统