首页 > 数据库 >基于Spring+SpringMVC+Mybatis+Mysql在线考试系统

基于Spring+SpringMVC+Mybatis+Mysql在线考试系统

时间:2022-12-21 10:25:29浏览次数:53  
标签:get SpringMVC Spring Mysql 签到 add 老师 Calendar signInDates

@

目录

一、系统介绍

系统主要功能:
学生:输入考试号、参加考试。
老师:考试信息、试卷库、试题库、学生信息、成绩分析、成绩排名、错题统计、成绩导出

运行环境 : idea、mysql、tomcat

二、功能展示

1.用户登陆

在这里插入图片描述

2.学生页面

在这里插入图片描述
在这里插入图片描述

3.考试信息(老师)

在这里插入图片描述

4.试卷库(老师)

在这里插入图片描述

5.试题库(老师)

在这里插入图片描述

6.考生信息(老师)

在这里插入图片描述

7.成绩分析(老师)

在这里插入图片描述

8.成绩排名(老师)

在这里插入图片描述

9.错题统计(老师)

在这里插入图片描述

10.成绩导出(老师)

在这里插入图片描述

四、其它

1.代码展示

package com.flower.controller;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

public class Test2 {
    public static void main(String[] args) {
        try {
            /**
             * 造一些测试数据,这里就不去数据库里查了,一般正常是数据库有个表记录签到记录
             */
            List<String> signInDateStrs = new ArrayList<>();
            signInDateStrs.add("2022-05-05");
            signInDateStrs.add("2022-05-08");
            signInDateStrs.add("2022-05-10");
            signInDateStrs.add("2022-05-11");
            signInDateStrs.add("2022-05-12");
            List<Date> signInDates = new ArrayList<>();
            for (String dateStr : signInDateStrs) {
                Calendar calendarTo = Calendar.getInstance();
                calendarTo.setTime(new SimpleDateFormat("yyyy-MM-dd").parse(dateStr));
                Calendar c = Calendar.getInstance();
                c.setTimeInMillis(0);
                c.set(calendarTo.get(Calendar.YEAR), calendarTo.get(Calendar.MONTH),
                        calendarTo.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
                signInDates.add(c.getTime());
            }

            int count = persistentDay(signInDates);
            System.out.println("连续签到了" + count + "天");
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }

    /**
     * 自动签到的情况,只要一进入系统就会签到,所以连续签到肯定至少为1天
     * @param signInDates
     * @return
     */
    private static int persistentDay(List<Date> signInDates){
        //定义一个变量表示连续签到天数,从1开始
        int continuousDays = 1;

        //1. 注意先对时间进行从小到大排序(可以在数据库里查的时候就根据时间排序,也可以查询出来之后再排序)

        /**
         * 2. 从最大的时间开始往前比较,因为我们是要拿连续签到的时间,这样才有意义,减少无谓的比较
         */
        Calendar later = Calendar.getInstance();
        Calendar before = Calendar.getInstance();
        for (int i = signInDates.size() - 1; i > 0; i--){
            later.setTime(signInDates.get(i));
            before.setTime(signInDates.get(i - 1));
            //前一天 + 1天 = 后一天,则视为连续签到
            before.add(Calendar.DAY_OF_MONTH,1);
            if (later.get(Calendar.YEAR) == before.get(Calendar.YEAR)
                    && later.get(Calendar.MONTH) == before.get(Calendar.MONTH)
                    && later.get(Calendar.DAY_OF_YEAR) == before.get(Calendar.DAY_OF_YEAR)){
                continuousDays++;
            }else {
                //只要遇到不连续的就不用再往前比较了
                break;
            }
        }
        return continuousDays;
    }
}

2.获取源码

点击下载
基于Spring+SpringMVC+Mybatis+Mysql在线考试系统

标签:get,SpringMVC,Spring,Mysql,签到,add,老师,Calendar,signInDates
From: https://www.cnblogs.com/Timi2019/p/16995624.html

相关文章

  • Mysql用户及其权限
    一、创建用户createuser'user_name'identifiedby'password';二、用户授权grant[权限名]on数据库名.表名touser_name[withoptiongrant];三、查看数据库中......
  • 基于Springboot+Mybatis+mysql+vue考研规划与交流系统
    @目录一、系统介绍二、功能展示1.主页(普通用户)2.登陆、注册(普通用户)3.复习规划制定(普通用户)4.经验分享交流(普通用户)5.考研学校资讯(普通用户)6.我的文章(普通用户)7.个人信......
  • Navicate for Mysql 中文免费版安装
    1.下载NavicatforMySQ中文破解版链接:https://pan.baidu.com/s/1fG5RfyEsOuyua5yi4Zt-fA提取码:36022.解压压缩包得到两个文件navicat111_mysql_cs_x64.exe、Patch......
  • 使用otter实现数据同步——mysql、oracle的数据同步利器
    文章目录Otter⽬前⽀持了什么整体架构环境准备下载安装修改配置⽂件运⾏ManagerNode配置⼀个同步任务添加canal添加数据源添加数据表配置添加⼀个chan......
  • MySQL Threads Running
    1、 广电告警背景如下: 主机:xxxx:3306,MySQL运行的Thread大于30,请关注,2021-07-1515:30:002、猜测是因为业务量造成?3、mysqlthreadrunning的理解  每秒查询次数(Qu......
  • 如何一个springBoot项目
    介绍在本文中,您将学习如何创建一个简单的SpringBoot应用程序,以及您需要哪些依赖项和技术需要了解。此外,我们将更深入地了解基本原理。我将解释一些最关键的工作机制,如果......
  • MySQL8.0—clone plugin
    1、MySQL8.0cloneplugin简介 1) 克隆插件允许从本地或远程的MySQLServer中克隆数据。克隆的数据是存储在InnoDB中的schema(database)、table(表)、tablespaces(表空间)和d......
  • MySQL中这14个牛逼的功能,惊艳到我了!!!
    前言我最近几年用MYSQL数据库挺多的,发现了一些非常有用的小玩意,今天拿出来分享到大家,希望对你会有所帮助。1.group_concat在我们平常的工作中,使用groupby进行分组的场......
  • ElasticSearch系列---【SpringBoot集成elasticsearch及常用api的使用方法】
    SpringBoot集成elasticsearch及常用api的使用方法1.在Es官网找到你使用的es版本对应的JavaClient的文档官网地址:https://www.elastic.co/cn/   我这里以7.13.4为......
  • 万字长文 | Spring Cloud Alibaba组件之Nacos实战及Nacos客户端服务注册源码解析
    滴滴滴,上车了!本次旅途,你将获取到如下知识:Nacos在微服务架构中的作用Nacos在Linux下的安装与使用搭建真实项目环境,实现服务注册与发现真实项目环境下实现Nacos的配置......