基于SpringBoot+Mybatis+layui的学生成绩管理系统

基于SpringBoot+Mybatis+layui的学生成绩管理系统

随着全球信息化的发展,人们的生活节奏越来越快,对信息的时效性越来越重视。以传统的宣传方式为载体的传统媒介早已不能满足用户对获取信息的方式、便捷性的需求。所以平时成绩管理系统渐渐成为用户关注的焦点。首先,平时成绩管理系统,网上获取信息的实时性、便捷性要远远高于传统媒个。系统一经上线,无论用户在世界的哪个角落,只要能够连接互联网,就能在第一时间获得想要的信息。

以往的教育教学相关信息管理,都是工作人员手工统计。这样即浪费时间,时效性低,而且需要查找和变更的时侯很不方便。随着科学的进步,技术的成熟,计算机信息化也日新月异的发展,社会也已经深刻的认识,计算机功能非常的强大,计算机已经进入了人类社会发展的各个领域,并且发挥着十分重要的作用。计算机技术在现代管理中的应用,使计算机成为用户应用现代技术的重要工具。能够有效的解决获取信息便捷化、全面化的问题,提高效率。

本系统中数据库服务器端采用了Mysql作为后台数据库,使Web与数据库紧密联系起来,通过SpringBoot+Mybatis整合框架。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。本系统的开发使获取平时成绩管理系统信息能够更加方便快捷,同时也使平时成绩管理系统信息变的更加系统化、有序化。系统界面较友好,易于操作。

一.开发环境

IDEA2021 + JDK8 + MySQL5.7/8.0 + navicate

二.技术栈

Springboot+Mybatis+layui

三.需要修改配置

如果本地数据库版本为mysql8.0,修改以下配置。
Mysql8连接配置

<dependency>
   		<groupId>mysql</groupId>
  		<artifactId>mysql-connector-java</artifactId>
   		<version>8.0.25</version>
	</dependency>

驱动

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

路径

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/score?autoReconnect=true&useUni	code=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai

四、配置流程

1.导入score数据库
2.导入项目源码
3.修改resources下的数据库信息
4.运行com.score.boot.StartApplication的main方法即可
5.访问http://localhost:8088/login.html
测试用户密码:
(1)教师:admin/123456
(2)学生:201723132/201723132
其他用户信息可以查询数据库表数据

pom.xml文件描述了一个使用Spring Boot框架、整合了MyBatis、Druid等技术的Java项目。还定义了项目的依赖关系和构建配置。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.score.study</groupId>
  <artifactId>StudentScore</artifactId>
  <version>0.0.1-SNAPSHOT</version>
	<name>StudentScore</name>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.2.RELEASE</version>
	</parent>
	<!-- 添加相关依赖 -->
	<dependencies>
		<!-- 添加web支持的starter -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
				<!-- spingBoot整合Mybatis -->
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>1.2.0</version>
		</dependency>
		<!-- 数据源 -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.0.29</version>
		</dependency>
		<!-- mysql驱动包 -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>8.0.25</version>
		</dependency>
		<!-- 好用的分页插件 -->
		<dependency>
			<groupId>com.github.pagehelper</groupId>
			<artifactId>pagehelper</artifactId>
			<version>4.1.0</version>
		</dependency>
	</dependencies>
	<!-- 添加编译和打包的相关插件  -->
	<build>
		<!-- 添加Spring boot编译插件  -->
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>
</project>

在这里插入图片描述
mybatis-config.xml文件用于配置PageHelper插件的各种属性,用于在MyBatis中实现分页查询。其中,元素的配置提供了很多可选项,可以根据实际需要进行调整。此外,还有一些注释提供了配置参数的说明。这种配置方式使得使用PageHelper插件变得更加灵活,可以根据具体需求进行定制。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
    PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-config.dtd">
        <configuration>
<plugins>
    <!-- com.github.pagehelper为PageHelper类所在包名 -->
    <plugin interceptor="com.github.pagehelper.PageHelper">
        <!-- 4.0.0以后版本可以不设置该参数 -->
        <property name="dialect" value="mysql"/>
        <!-- 该参数默认为false -->
        <!-- 设置为true时,会将RowBounds第一个参数offset当成pageNum页码使用 -->
        <!-- 和startPage中的pageNum效果一样-->
        <property name="offsetAsPageNum" value="true"/>
        <!-- 该参数默认为false -->
        <!-- 设置为true时,使用RowBounds分页会进行count查询 -->
        <property name="rowBoundsWithCount" value="true"/>
        <!-- 设置为true时,如果pageSize=0或者RowBounds.limit = 0就会查询出全部的结果 -->
        <!-- (相当于没有执行分页查询,但是返回结果仍然是Page类型)-->
        <property name="pageSizeZero" value="true"/>
        <!-- 3.3.0版本可用 - 分页参数合理化,默认false禁用 -->
        <!-- 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页 -->
        <!-- 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 -->
        <property name="reasonable" value="false"/>
        <!-- 3.5.0版本可用 - 为了支持startPage(Object params)方法 -->
        <!-- 增加了一个`params`参数来配置参数映射,用于从Map或ServletRequest中取值 -->
        <!-- 可以配置pageNum,pageSize,count,pageSizeZero,reasonable,orderBy,不配置映射的用默认值 -->
        <!-- 不理解该含义的前提下,不要随便复制该配置 -->
        <property name="params" value="pageNum=pageHelperStart;pageSize=pageHelperRows;"/>
        <!-- 支持通过Mapper接口参数来传递分页参数 -->
        <property name="supportMethodsArguments" value="false"/>
        <!-- always总是返回PageInfo类型,check检查返回类型是否为PageInfo,none返回Page -->
        <property name="returnPageInfo" value="none"/>
    </plugin>
</plugins>
</configuration>

在这里插入图片描述
SpringApplication.run(StartApplication.class, args);用于启动Spring Boot应用。这个启动类的作用是配置和启动Spring Boot应用,通过注解的方式配置Spring的各种功能,包括自动化配置、组件扫描以及MyBatis的Mapper接口扫描。

package com.score.boot;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;

@SpringBootApplication //SpringBoot启动类注解
@EnableAutoConfiguration  //开启自动化配置
@ComponentScan("com.score") //类似于Spring的基础类扫描包,用来扫描实体,接口和控制器
@MapperScan("com.score.dao") //mybatis的接口扫描包
public class StartApplication {
    public static void main(String[] args) {
        SpringApplication.run(StartApplication.class, args);
    }
}

在这里插入图片描述
maven解析jar包之后,直接启动
在这里插入图片描述
启动成功。
在这里插入图片描述
Spring框架在应用启动时输出的日志信息,它展示了Web应用中的URL映射信息。
在这里插入图片描述
这里我们设置的8088端口,我们直接打开我们的映射端口就可以了

在这里插入图片描述

http://localhost:8088

在这里插入图片描述
测试用户密码:
(1)教师:admin/123456
(2)学生:201723132/201723132

在这里插入图片描述
在这里插入图片描述
ok,也是可以成功登录教授端,数据请求和传递也正常。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
我们进行最基本的增删改查测试。
在这里插入图片描述
修改性别为男,名字为theshy。
在这里插入图片描述

ok,这里也是成功修改。
在这里插入图片描述
看一下sql数据库信息,也是正常的。
在这里插入图片描述
删除这条数据。
在这里插入图片描述
也是可以正常删除。
在这里插入图片描述
增删改查成绩后面也是可以的,就不一 一介绍了。
在这里插入图片描述
登陆学生端。
账号:201723132
密码:201723132
在这里插入图片描述

在这里插入图片描述

经过对一系列测试结果的有效分析,本平台开发系统符合用户的要求和需求。所有的基本功能相对产全,操作起来简单方便,测试系统性能良好。整体设计和代码逻辑还是很好的!

还有很多项目没时间整理写博客,后面有时间精力会持续更新更多优质内容,感谢各位的支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/172274.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

全栈程序员太难了,这个报表工具别再错过了!!

打开百度百科&#xff0c;全栈工程师的解释&#xff1a;是指掌握多种技能&#xff0c;可以胜任前端和后端&#xff0c;能用多种技能独立完成产品的人。 对于这个答案我是保持观望的态度。如果说能同时开发前端和后端&#xff0c;还能独立完成产品&#xff0c;它就是全栈工程师…

Bandzip下载(好用的解压缩工具)

1.下载链接&#xff1a;Bandizip - Download Bandizip 6.x 2.点击 下载Bandzip 进行下载&#xff0c;下载到本地&#xff0c;直接安装即可

LeetCode(30)长度最小的子数组【滑动窗口】【中等】

目录 1.题目2.答案3.提交结果截图 链接&#xff1a; 长度最小的子数组 1.题目 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl1, ..., numsr-1, numsr] &#xff0c;并返回其长度。如果…

Python爬虫:多线程收集/验证IP从而搭建有效IP代理池

一、前言 在网络爬虫中&#xff0c;IP代理池的作用非常重要。网络爬虫需要大量的IP地址来发送请求&#xff0c;同时为了降低被封禁的风险&#xff0c;使用代理IP来发送请求也是一个不错的选择。但是由于代理IP的性质&#xff0c;代理IP的可用性非常低&#xff0c;需要经常更新…

数据链路层协议

文章目录 一.链路层解决的问题二.以太网协议1.认识以太网2.以太网帧格式3.认识MAC地址4.对比理解MAC地址和IP地址5.认识MTU6.MTU对IP协议的影响7.MTU对UDP协议的影响8.MTU对TCP协议的影响9.数据跨网络传输的过程 二.ARP协议1.ARP协议的作用2.ARP数据的格式3.ARP协议的工作流程 …

最新AIGC创作系统ChatGPT系统源码,支持最新GPT-4-Turbo模型,支持DALL-E3文生图,图片对话理解功能

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…

印刷企业数字工厂管理系统建设方案

随着科技的飞速发展&#xff0c;传统印刷企业正面临着前所未有的挑战。产能短缺、质量控制不足、成本控制不力以及服务质量不高等问题成为了制约企业发展的瓶颈。为了解决这些问题&#xff0c;印刷企业需要积极拥抱数字化转型&#xff0c;构建数字工厂管理系统。 一、印刷企业数…

C语言童年生活二三事(ZZULIOJ1091:童年生活二三事(多实例测试))

题目描述 Redraiment小时候走路喜欢蹦蹦跳跳&#xff0c;他最喜欢在楼梯上跳来跳去。 但年幼的他一次只能走上一阶或者一下子蹦上两阶。 现在一共有N阶台阶&#xff0c;请你计算一下Redraiment从第0阶到第N阶共有几种走法。 输入&#xff1a;输入包括多组数据。 每组数据包括一…

集成GPT-4的Cursor智能代码生成器,如何免费使用?

Cursor是一个集成了 GPT-4 的国内直接可以访问的&#xff0c;优秀而强大的免费代码生成器&#xff0c;可以帮助你快速编写、编辑和讨论代码。 它支持多种编程语言&#xff0c;如 Python, Java, C#, JavaScript 等&#xff0c;并且可以根据你的输入和需求自动生成代码片段。 Cur…

视频集中存储EasyCVR平台使用海康SDK,播放出现串流情况是什么原因?

视频监控平台EasyCVR拓展性强&#xff0c;视频能力丰富&#xff0c;具体可实现视频监控直播、视频轮播、视频录像、云存储、回放与检索、智能告警、服务器集群、语音对讲、云台控制、电子地图、H.265自动转码H.264、平台级联等。为了便于用户二次开发、调用与集成&#xff0c;我…

腾讯云COS+picgo+typora 图床搭建与自动上传

1、腾讯云 COS 腾讯云活动 COS新用户专享 COS 操作步骤 1、点击 创建桶&#xff0c;完善信息 点击下一步&#xff0c;剩下的配置可自己配置 2、picgo 官网地址 2.3.1版本下载地址 现在稳定版本是2.3.1 相关连接 腾讯云密钥设置地址picgo官网地址2.3.1版本下载地址

报错注入 [极客大挑战 2019]HardSQL1

打开题目 输入1或者1"&#xff0c;页面均回显NO,Wrong username password&#xff01;&#xff01;&#xff01; 那我们输入1 试试万能密码 1 or 11 # 输入1 and 12 # 输入1 union select 1,2,3 # 输入1 ununionion seselectlect 1,2,3 # 输入1 # 输入1# 页面依旧回…

php字符串处理函数的使用

php字符串处理函数的使用 trim() trim()函数的功能用于去除字符串首尾的空白字符(包括空格、制表符、换行符等&#xff09;。它可以用于清理用户输入的数据或去除字符串中的多余空格。 <?php $char" holle world! ";echo trim($char) ?>str_repl…

基于Cortex®-M4F的TM4C123GH6NMRT7R 32位MCU,LM74900QRGERQ1、LM74930QRGERQ1汽车类理想二极管

一、TM4C123GH6NMRT7R IC MCU 32BIT 256KB FLASH 157BGA Tiva™C系列微控制器为设计人员提供了基于ARMCortex™-M的高性能架构&#xff0c;该架构具有广泛的集成功能以及强大的软件和开发工具生态系统。以性能和灵活性为目标&#xff0c;Tiva™C系列架构提供了一个具有FPU的80…

pr视频剪辑素材,免费下载

找剪辑素材就上这几个网站&#xff0c;视频、音效、图片素材都非常齐全&#xff0c;还能免费下载&#xff0c;赶紧收藏起来。 视频素材 1、菜鸟图库 https://www.sucai999.com/video.html?vNTYxMjky 菜鸟图库网素材非常丰富&#xff0c;网站主要还是以设计类素材为主&#x…

CNP实现应用CD部署

上一篇整体介绍了cnp的功能&#xff0c;这篇重点介绍下CNP产品应用开发的功能。 简介 CNP的应用开发&#xff0c;主要是指的应用CD部署的配置管理。 应用列表&#xff0c;用来创建一个应用&#xff0c;一般与项目对应&#xff0c;也可以多个应用对应到一个项目。具体很灵活。…

【Python】可再生能源发电与电动汽车的协同调度策略研究

1 主要内容 之前发布了《可再生能源发电与电动汽车的协同调度策略研究》matlab版本程序&#xff0c;本次发布的为Python版本&#xff0c;采用gurobi作为求解器&#xff0c;有需要的可以下载对照学习研究。 首先详细介绍了优化调度模型的求解方案&#xff0c;分别采用二次规划…

WPF TextBox实现placeholder

WPF里TextBox没有placeholder&#xff0c;需要自己实现&#xff0c;本篇博客介绍WPF TextBox实现placeholder&#xff0c;效果如下&#xff1a; 实现技巧是在 TextBox 控件的 Style 中使用触发器&#xff08;Triggers&#xff09;来显示和隐藏placeholder文本。xmal代码如下&am…

虾皮网同行数据丨虾皮数据工具-知虾:监控竞争对手数据的利器

在如今的电商竞争激烈的市场中&#xff0c;了解竞争对手的销售情况和策略对于制定自己的营销策略至关重要。虾皮网作为一家知名的电商平台&#xff0c;提供了一款强大的同行数据工具-知虾&#xff0c;可以帮助卖家监控竞争对手的数据&#xff0c;为自己的业务发展提供有力支持。…

部署Kubernetes Dashboard

Dashboard简介 Dashboard 是基于网页的 Kubernetes 用户界面。 可以使用 Dashboard 将容器应用部署到 Kubernetes 集群中&#xff0c;也可以对容器应用排错&#xff0c;还能管理集群资源。 Dashboard创建 #创建pods kubectl apply -f https://raw.githubusercontent.com/kub…