文章目录
源码下载地址
项目介绍
基于MYSQL的学生信息管理系统javaWeb实现
耗时20天
数据库使用的是MySQL
使用了Druid连接池
前端使用了html、css、javascript(少量)、jsp页面、servlet和servlet过滤器, 页面包含大量的动画效果
后端使用的是java。service层:table包的所有类;dao层:data包的所有类、tools包的所有类。 使用了JDBC模板,大大降低了代码重复。所有的sql语句都不是拼接的(除了使用LIMIT关键字分页), 不要想到sql注入。
sql文件在sql文件夹里,sql文件夹里有两个文件,一个是只有表结构的,一个是有表结构和数据的。 绝大部分数据都是程序生成的,生成的类在io包里,Add类,执行添加的代码在text文件夹下(JUnit5)。
关于密码:
password表中存放的是密码对应的散列值,学生的是MD5,教师的是SHA256,管理员的是SHA3_512。 初始密码是身份证后六位,如果不是,那就是我改了,更改后的密码是111111, 我只更改了校长和部分学生的密码。
关于代码:
代码总共33403行。文件数量:241,字符总数:920648,有效字符总数:669192,空格数:218053。
其中:
.java文件:71个,10616行;
.jsp文件:100个,14096行;
.html文件:1个,470行;
.css文件:69个,8221行
关于数据库连接池测试:
说明:使用不同的连接池测试1000次查询和10000次查询的时间消耗。
测试对象:druid连接池、C3P0连接池、自定义连接池适配器设计模式、 自定义连接池动态代理方式、不使用数据库连接池。
测试的sql语句:select * from administrators where administrator_no=10001。
数据库:MYSQL。
测试结果:
Druid:
1000次查询:480毫秒
10000次查询:2337毫秒
C3P0:
1000次查询:748毫秒
10000次查询:2854毫秒
自定义连接池适配器设计模式:
1000次查询:662毫秒
10000次查询:3441毫秒
自定义连接池动态代理模式:
1000次查询:632毫秒
10000次查询:3608毫秒
不使用数据库连接池:
1000次查询:12198.45毫秒(只测试了一次)
10000次查询:115499.75毫秒(只测试了一次)
项目功能
任务书:
以下是任务书的内容:
一、设计内容与设计要求
1.设计内容:
学生信息管理系统
系统功能分析
其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,下:
(1)新增学生。
(2)修改学生。
(3)删除学生。
(4)查询学生。
(5)退出本系统。
数据库中表的参考结构(注:仅供参考)
表名:student
说明:学生信息表
三个字段(学号,姓名,手机号)
字段名 字段类型 字段长度 是否为空 说明
xh Char 10 F 学号(关键字)
xm Char 10 F 姓名
sjh Char 10 T 手机号
2.设计要求:
(1)论述课题的性质、内容以及本次课程设计的目的和要求。
(2)用Java实现学生信息管理系统,可以是GUI图形界面实现;可以是控制台输出;还可以java web实现;可以(基于Maven)用SSM框架实现;可以用springboot实现,前台使用Java 语言,后台使用MYSQL数据库,或其他关系数据库来开发本系统。可以使用eclipse\myeclipse\idea开发环境,可以实现Java GUI图形界面、控制台实现、java web (MVC) 实现、SSM框架实现、springBoot实现。
(3)总体设计方案的分析、比较和论证。
(4)数据库的建立,数据库中表的结构,各表中关键字的设置,表与表之间的关系。
(5)应用程序各功能模块和报表的设计。
(6)编写代码、上机输入、调试、修改并运行通过。
(7)编写课程设计说明书。说明书是总结性的技术文件,应全面叙述整个设计的内容及过程(可参考上述6条),发现的问题及解决方法等。
(8)源代码和参考书目应作为说明书的附录。
(9)说明书应采用A4纸张,文字说明不少于5000字。说明书中应包括系统结构示意图。
界面预览
项目备注
1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!
2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。
3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。
下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。