【计算机毕业设计】实验室预约管理系统

Java SpringBoot实验室预约管理系统,后端基于SpringBoot框架进行开发,前端页面效果通过使用Vue进行编码实现,主要实现了学生跟管理员角色,实现了任务领取管理、实验室预约管理等功能。
项目运行
环境配置:
Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。
项目技术:
JAVA + mybatis + Maven + Vue 等等组成,B/S模式 + Maven管理等等。
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
6.数据库:MySql 5.7/8.0等版本均可;

技术栈

  1. 后端:JAVA mybatis
  2. 前端:vue+css+javascript+jQuery+easyUI+highcharts

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
  2. 使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;
    3.管理员账号:abo 密码:abo
    4.开发环境为Eclipse/idea,数据库为mysql 使用java语言开发。
    5.运行SpringbootSchemaApplication.java 即可打开首页
    6.数据库连接src\main\resources\application.yml中修改
    7.maven包版本apache-maven-3.3.9.
    8.后台路径地址:localhost:8080/项目名称/admin
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
# Tomcat
server:
    tomcat:
        uri-encoding: UTF-8
    port: 8080
    servlet:
        context-path: /springboot3wku7

spring:
    datasource:
        driverClassName: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://127.0.0.1:3306/springboot3wku7?useUnicode=true&characterEncoding=utf-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
        username: root
        password: 123456

#        driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
#        url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=springboot3wku7
#        username: sa
#        password: 123456

    servlet:
      multipart:
        max-file-size: 300MB
        max-request-size: 300MB
    resources:
      static-locations: classpath:static/,file:static/

#mybatis
mybatis-plus:
  mapper-locations: classpath*:mapper/*.xml
  #实体扫描,多个package用逗号或者分号分隔
  typeAliasesPackage: com.entity
  global-config:
    #主键类型  0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
    id-type: 1
    #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
    field-strategy: 2
    #驼峰下划线转换
    db-column-underline: true
    #刷新mapper 调试神器
    refresh-mapper: true
    #逻辑删除配置
    logic-delete-value: -1
    logic-not-delete-value: 0
    #自定义SQL注入器
    sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
  configuration:
    map-underscore-to-camel-case: true
    cache-enabled: false
    call-setters-on-nulls: true
    #springboot 项目mybatis plus 设置 jdbcTypeForNull (oracle数据库需配置JdbcType.NULL, 默认是Other)
    jdbc-type-for-null: 'null' 

<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.2.2.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.jlwl</groupId>
	<!-- 导入项目的名称 -->
	<artifactId>springboot3wku7</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>springboot-schema</name>
	<description>springboot学习框架</description>

	<properties>
		<java.version>1.8</java.version>
		<fastjson.version>1.2.8</fastjson.version>
		<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>2.1.1</version>
		</dependency>
		<dependency>
		    <groupId>org.springframework.boot</groupId>
		    <artifactId>spring-boot-starter-jdbc</artifactId>
		</dependency>
		
		<dependency>
		    <groupId>mysql</groupId>
		    <artifactId>mysql-connector-java</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.shiro</groupId>
			<artifactId>shiro-spring</artifactId>
			<version>1.3.2</version>
		</dependency>
		
		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus</artifactId>
			<version>2.3</version>
		</dependency>
		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatisplus-spring-boot-starter</artifactId>
			<version>1.0.5</version>
		</dependency>
		<dependency>
		    <groupId>com.google.protobuf</groupId>
		    <artifactId>protobuf-java</artifactId>
		    <version>3.10.0</version>
		</dependency>
		
		<dependency>
		    <groupId>org.apache.commons</groupId>
		    <artifactId>commons-lang3</artifactId>
		    <version>3.0</version>
		</dependency>
		
		<dependency>
		    <groupId>javax.validation</groupId>
		    <artifactId>validation-api</artifactId>
		    <version>2.0.1.Final</version>
		</dependency>
		
		<dependency>
		    <groupId>commons-io</groupId>
		    <artifactId>commons-io</artifactId>
		    <version>2.5</version>
		</dependency>
		
		
		<dependency>
		    <groupId>cn.hutool</groupId>
		    <artifactId>hutool-all</artifactId>
		    <version>4.0.12</version>
		</dependency>
		
		<!-- FastJson -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>${fastjson.version}</version>
		</dependency>
		<dependency>
		    <groupId>com.microsoft.sqlserver</groupId>
		    <artifactId>sqljdbc4</artifactId>
		    <scope>4.0</scope>
		    <version>4.0</version>
		</dependency>
		
		<dependency>
		    <groupId>com.microsoft.sqlserver</groupId>
		    <artifactId>mssql-jdbc</artifactId>
		    <version>6.2.0.jre8</version>
		    <scope>runtime</scope>
		</dependency>
		<!-- 百度人工智能 -->
		<dependency>
    		<groupId>com.baidu.aip</groupId>
    		<artifactId>java-sdk</artifactId>
    		<version>4.4.1</version>
		</dependency>

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.11</version>
        </dependency>

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.9</version>
        </dependency>

		
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.junit.vintage</groupId>
					<artifactId>junit-vintage-engine</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>

<?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="com.dao.CommonDao">
	<select id="getOption" resultType="String" >
		SELECT distinct ${column} FROM ${table} 
			where ${column} is not null and ${column} !=''
			<if test = "level != null"> 
			and level=#{level} 
			</if>
			<if test = "parent != null"> 
			and parent=#{parent} 
			</if>
	</select>
	
	<select id="getFollowByOption" resultType="map" >
		SELECT * FROM ${table} where ${column}=#{columnValue}
	</select>
	
	<update id="sh">
		UPDATE ${table} set sfsh=#{sfsh} where id=#{id}
	</update>
	
	<select id="remindCount" resultType="int" >
		SELECT count(1) FROM ${table} 
			where 1=1 
			<if test = "type == 1 ">
				<if test = " remindstart != null ">
				     and ${column} &gt;= #{remindstart}
				</if>
				<if test = " remindend != null ">
				     and ${column} &lt;= #{remindend}
				</if>
			</if>
			<if test = "type == 2 ">
				<if test = " remindstart != null ">
				     and ${column} &gt;= str_to_date(#{remindstart},'%Y-%m-%d')
				</if>
				<if test = " remindend != null ">
				     and ${column} &lt;= str_to_date(#{remindend},'%Y-%m-%d')
				</if>
			</if>
	</select>
	
	<select id="selectCal" resultType="map" >
		SELECT sum(${column}) sum,max(${column}) max,min(${column}) min,avg(${column}) avg FROM ${table}
	</select>
	
	<select id="selectGroup" resultType="map" >
		SELECT ${column} , count(1) total FROM ${table} group by ${column}
	</select>
	
	<select id="selectValue" resultType="map" >
		SELECT ${xColumn}, sum(${yColumn}) total FROM ${table} group by ${xColumn}
	</select>

        <select id="selectTimeStatValue" resultType="map" >
                <if test = 'timeStatType == "日"'>
                        SELECT DATE_FORMAT(${xColumn},'%Y-%m-%d') ${xColumn}, sum(${yColumn}) total FROM ${table} group by DATE_FORMAT(${xColumn},'%Y-%m-%d')
                </if>
                <if test = 'timeStatType == "月"'>
                        SELECT DATE_FORMAT(${xColumn},'%Y-%m') ${xColumn}, sum(${yColumn}) total FROM ${table} group by DATE_FORMAT(${xColumn},'%Y-%m')
                </if>
                <if test = 'timeStatType == "年"'>
                        SELECT DATE_FORMAT(${xColumn},'%Y') ${xColumn}, sum(${yColumn}) total FROM ${table} group by DATE_FORMAT(${xColumn},'%Y')
                </if>
        </select>
	
</mapper>

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
基于java实验室网上预约系统设计与实现 技术:后端:java,前端:html+js+css 框架:springBoot SSM 运行工具:idea 数据库:mysql 源码:详见文章最后 1、    登录页面: 2、首页 3、用户管理  4、添加用户  5、角色管理  6、添加角色  7、编辑角色 8、预约管理  9、新增预约  10、数据统计 数据库脚本如下: CREATE TABLE `sys_user_t` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `role_id` VARCHAR(500) NULL DEFAULT NULL COMMENT '角色ID', `user_id` VARCHAR(50) NOT NULL COMMENT '用户ID', `user_name` VARCHAR(100) NOT NULL COMMENT '用户名', `status` VARCHAR(50) NOT NULL COMMENT '是否有效0:false\\\\\\\\1:true', `create_date` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP, `create_by` VARCHAR(100) NULL DEFAULT NULL, `last_update_date` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP, `last_update_by` VARCHAR(100) NULL DEFAULT NULL, `password` VARCHAR(128) NOT NULL, `tenantcode` VARCHAR(50) NOT NULL, `diskId` VARCHAR(500) NULL DEFAULT NULL, `remarks` VARCHAR(500) NULL DEFAULT NULL, PRIMARY KEY (`id`) ) COMMENT='系统用户表' COLLATE='utf8_general_ci' ENGINE=InnoDB AUTO_INCREMENT=52 ; CREATE TABLE `sys_role_t` ( `role_id` INT(11) NOT NULL COMMENT '角色ID', `role_name` VARCHAR(200) NOT NULL COMMENT '权限名称', `status` INT(11) NOT NULL COMMENT '是否有效0:true\\\\1:false', `create_date` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP, `create_by` VARCHAR(100) NULL DEFAULT NULL, `last_update_date` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP, `last_update_by` VARCHAR(100) NULL DEFAULT NULL ) COMMENT='系统角色表' COLLATE='utf8_general_ci' ENGINE=InnoDB ; CREATE TABLE `sys_menu_t` ( `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '序列', `parent_id` VARCHAR(50) NOT NULL COMMENT '父节点ID', `menu_id` VARCHAR(50) NOT NULL COMMENT '菜单ID', `menu_name` VARCHAR(200) NOT NULL COMMENT '菜单名称', `menu_url` VARCHAR(200) NULL DEFAULT NULL COMMENT '菜单URL', `status` INT(11) NOT NULL COMMENT '有效(0有效,1失效)', `create_date` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP, `create_by` VARCHAR(200) NULL DEFAULT NULL, `last_update_date` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP, `last_update_by` VARCHAR(200) NULL DEFAULT NULL, PRIMARY KEY (`id`) ) COMMENT='菜单表' COLLATE='utf8_general_ci' ENGINE=InnoDB AUTO_INCREMENT=33 ; CREATE TABLE `client_manager_t` ( `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '序列', `clientId` VARCHAR(50) NULL DEFAULT NULL COMMENT '客户编号', `clientName` VARCHAR(50) NULL DEFAULT NULL COMMENT '客户姓名', `address` VARCHAR(200) NULL DEFAULT NULL COMMENT '客户住址', `source` VARCHAR(200) NULL DEFAULT NULL COMMENT '客户所属公司', `sourceDate` VARCHAR(200) NULL DEFAULT NULL COMMENT '客户发展时间', `status` VARCHAR(200) NULL DEFAULT NULL COMMENT '客户级别', `clientNum` VARCHAR(200) NULL DEFAULT NULL COMMENT '拜访客户次数', `isTrue` VARCHAR(200) NULL DEFAULT NULL COMMENT '客户是否有效', PRIMARY KEY (`id`) ) COMMENT='客户人员信息表' COLLATE='utf8_general_ci' ENGINE=InnoDB AUTO_INCREMENT=47 ;
项目背景:全校开放性实验室预约系统是一个让学生通过网上报名预约实验的系统。由于学生对实验的需求很多,而教师人数有限,这使得学生做实验时遇到问题不能得到及时解决,从而导致实验很难继续下去,这样实验难以达到预期目的。因此,必须准确地了解学生对实验的内容和时间等的要求,才能有效地安排教师辅导。“全校开放性实验室预约系统”通过学生网上预约实验的方式,为实验室妥善安排提供可靠的依据。 使用说明: 学期管理 管理员可以添加、修改、删除学期。 特别注意:只能有一个学期为活动学期,学生只能预约这个学期的实验项目;老师只能查看、编辑这个学期的实验批次。 实验项目管理 一个学期可以有不同的实验科目,一个实验科目又有不同的实验项目。管理员可以添加、修改、删除实验项目。 特别注意:在输入实验项目时,遇到没有在实验科目列表中出现的实验科目,直接手动输入,保存后就自动添加到列表中。 实验项目批次 一个实验项目可以分为不同的实验批次进行。管理员可以针对某个实验项目进行实验批次的添加、修改、删除。一个实验批次,可以有多个学生参与,但不能超过实验批次的容量。管理员可以对某个实验批次里的学生进行添加、评分、删除操作。 老师管理 管理员可以添加、修改、删除老师信息。 特别注意:老师的平台账号不能为空而且不能重复,因为老师登入系统就是用这个账号。 学生管理 管理员可以添加、修改、删除学生信息。 特别注意:学号不能为空而且不能重复.学生登入时候使用学号登入.
摘 要 传统的实验室管理方式,积累量大,易出错,在实验室开放方面,学生很难查看实验室的空闲时段,管理员也很难为学生预备实验条件。在选择实验课方面,总是以班级或者专业为单位进行排课,使得教学缺乏自主化,人性化,而且往往会师生之间相互不了解而产生的盲目教学等情况,影响学生、老师的积极性,从而影响实验教学的效果。所以,需要开发一套开放实验室实验预约系统来代替传统的管理方法。 开放实验室预约系统包含管理员放课子系统,老师排课子系统,学生选课子系统三块。在放课子系统中,管理员根据该学期的实际需要发放本学期的实验项目批次,同时管理员可以统计所有实验项目批次的选课情况。在排课子系统中,老师根据管理员发放的实验项目批次,确定实验的时间、地点、容纳人数等基本信息,同时老师可以查看自己排课情况。在选课子系统中,学生根据自己的实际情况和老师排课的基本情况来选择自己的实验项目批次,同时学生可以查询老师的信息,课程的信息和自己的课表。 系统采用B/S架构,符合操作简单,界面友好,灵活,实用,安全的要求,能够完成开放实验室预约管理的全过程。系统的最大特点就是打破了传统意义上的实验室管理方式,使得学生、老师在整个教学过程中更加自主,不断提高了两者的积极性,同时也提高了教与学的质量,提高了实验教学管理的效率。 【关键字】管理自动化 预约管理系统 查询 信息。 ABSTRACT Traditional laboratory management, accumulated a large amount of error-prone, and opening up in the lab, the students it is difficult to view the free laboratory sessions, the administrator it is very difficult for students to prepare experimental conditions. In the choice of the experimental classes, the always professional classes or arranging schedule for the units, making the teaching of the lack of autonomy, of human nature, but also between teachers and students are often caused by lack of understanding and teaching the blind, the impact on students and teachers the enthusiasm of , thus affecting the effectiveness of experimental teaching. Therefore, the need to develop an open laboratory system to replace the traditional appointment of the management. The open laboratory appointment system contains the manager class break subsystem, teacher arranges the class subsystem, the student chooses class subsystem three. In the class break subsystem, the manager provides this semester according to this semester's actual need the experiment project raid, simultaneously the manager may count all experiment project raid to choose the class situation. In the row of class subsystem, teacher the experiment project raid which provides according to the manager, determined that experiment's time, the place, the accommodation population and so on basic information, simultaneously teacher may examine oneself platoon class situation. In chooses in the class subsystem, the student acts according to own actual situation and teacher arranges the class the basic situation to choose own experiment project raid, simultaneously the student may inquire teacher's information, the curriculum information and own class schedule. The system uses the B/S construction, conforms to the simplicity of operator, the contact surface is friendly, nimble, practical, safe request, can complete opens the laboratory appointment management the entire process. System's most major characteristic has broken in the traditional significance laboratory mode of administration, causes the student, teacher to be even more independent in the entire teaching process, enhanced both's enthusiasm unceasingly, simultaneously also improved teaches with study the quality, raised the experiment teaching management efficiency. 【Keywords】 management automation appointment management system inquiry service information. 目 录 前 言 - 1 - 第一章 开放实验室预约管理系统概述 - 2 - 第一节 开发系统背景 - 2 - 第二节 系统目标 - 2 - 第三节 论文的主要工作 - 4 - 第四节 本章小结 - 4 - 第二章 需求分析 - 5 - 第一节 总体需求分析 - 5 - 第二节 可行性分析 - 5 - 一、技术可行性 - 6 - 二、经济可行性 - 6 - 三、操作可行性 - 7 - 四、开发环境可行性 - 7 - 第三节 应用现状调查 - 7 - 第四节 业务流程需求分析 - 8 - 第五节 运行环境需求 - 9 - 第六节 本章小结 - 9 - 第三章 系统分析与设计 - 10 - 第一节 总体设计 - 10 - 第二节 系统功能分析 - 10 - 一、图形工具 - 12 - 二、系统的逻辑模型 - 16 - 第三节 详细设计 - 20 - 一、程序流程图 - 21 - 二、数据库设计 - 22 - 第四节 本章小结 - 24 - 第四章 系统实现 - 25 - 第一节 实现工具 - 25 - 一、PHP5动态语言 - 25 - 二、Mysql数据库 - 25 - 三、开发平台 - 26 - 四、数据库系统工作结构图 - 26 - 第二节 功能实现 - 27 - 第三节 本章小结 - 29 - 第五章 测试与维护 - 30 - 第一节 测试结果 - 30 - 一、后台登陆模块 - 30 - 二、前台主界面模块 - 30 - 三、后台主界面模块 - 35 - 第二节 本章小结 - 37 - 结 论 - 38 - 致 谢 - 39 - 参考文献 - 40 - 附 录 - 41 - 一、英文原文 - 41 - The Hitchhikers Guide to PHP Load Balancing - 41 - 二、中文翻译 - 47 - PHP负载均衡指南 - 47 - 三、工程设计图纸: - 51 - 四、源程序: - 51 - 五、其他: - 51 -

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JAVA编码选手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值