返回顶部
首页 > 资讯 > 数据库 >教务管理系统——数据库课程设计mysql+java
  • 658
分享到

教务管理系统——数据库课程设计mysql+java

数据库mysqljavaeclipsedatabase 2023-10-01 12:10:11 658人浏览 薄情痞子
摘要

数据库原理与应用课程设计 任  务  书 https://download.csdn.net/download/weixin_48388330/85448967Https://download.csdn.net/download/weixi

数据库原理与应用课程设计

   

https://download.csdn.net/download/weixin_48388330/85448967Https://download.csdn.net/download/weixin_48388330/85448967 此为工程文件资源包

 

【题目】

教务管理系统(或自拟题目

【目的】

该实践性环节对于巩固学生的数据库知识,系统地掌握数据库设计理论与应用,加强学生的实践动手能力和提高学生的综合开发经验十分重要和必要。

本课程分为系统需求分析与数据库设计、应用程序功能设计和系统集成调试三个阶段进行。

主要目标如下:

1、加深学生对数据库系统、应用程序设计语言的理论知识的理解和应用水平。

2、通过设计实际的数据库系统应用课题,使学生进一步熟悉数据库管理系统的操作技术,并提高动手能力以及分析问题、解决问题的能力。

【要求】

1、每个学生必须独立完成;

2、课程设计累计时间为1周(20学时、集中或分散);

3、整个数据库系统设计,后台数据库可用SQL ServerMysql,前台开发工具编程语言任选。

4、课程设计期间,中期检查与考勤采用线上管理模式,特定时间无故缺席按旷课处理;缺席时间达三分之一课时以上者,未按规定要求上交课程设计报告与设计成果的学生,其成绩按不及格处理。

5、不参与设计且不提交任何成果,缺席答辩的同学,成绩计零分(或按旷考处理)。

【内容】

1、按照题目《教务管理系统》(或自拟题目)的应用需求进行调研,通过需求分析、模拟数据,提取实体、实体与实体之间的联系,运用数据库设计方法进行数据库的设计,并插入一定量的实验数据。

2、根据系统的实际应用功能需求、以及考核标准来完成对应难度的数据库系统后台开发。

3实现应用程序功能的设计、编程优化功能。(选做)

 

【考核标准】

(1) 学生用户,通过输入学号、密码进入系统。能修改个人信息,修改密码;能查询课程库所有课程信息,但不能修改;能查询自己的个人成绩,但不能修改(及格要求)。

(2) 设置管理员超级用户,通过输入账号、密码进入系统。能查询及修改数据库中的任意表,如用户表、学生信息表、课程库表、成绩表等(中等要求)。

(3) 用户表中追加教师用户。数据库中增加教师教学任务表,教师能根据课程库中的课程,给自己添加、删除、修改教学任务。(良好要求)

(4) 完善教务管理系统。学生能看到教师的教学任务,并能做到学生选课;教师对自己上课的课程,能给已选课的学生打成绩(优秀要求)。

注:编程过程中工程文件名必须取自己的学号;程序运行结果中,能打开的各个窗口名必须包含自己的学号,此项没有成绩作0分处理。

【设计报告】

1、课程设计报告要求:

(1)不少于3000字,用A4纸排版并打印。

(2)主要内容及装订顺序:封面(统一格式)、课程设计任务书、正文、教师评语表等。

(3)正文部分应该包括需求分析、数据库设计(含概念设计、逻辑设计、物理设计)、程序模块设计(含功能需求、用户界面设计、程序代码设计与分析、调试及运行结果)等。

(4)设计报告严禁抄袭,不允许雷同,否则按不及格论处。

2、课程的设计最终需要提交的内容:

(1)排版合理规范、内容体系完整(按上面的要求)的设计报告。

(2)数据库与应用系统(数据库的完整备份文件,源程序代码对应项目工程压缩文件统一命名后通过网络上传至指导老师指定的云班课对应的任务下)。

(3)系统功能简介与系统移植、安装、设置、口令、关键操作说明等Word帮助文档。(选做)

3、课程设计的成绩评定:

课程的成绩由四部分构成,分别是考勤20%、设计报告40%、数据库应用系统20%、答辩20%。

成绩计分按优、良、中、及格和不及格五个等级评定。

附表:

数据库课程设计课题选题表

课题序号

课题名称

功能设计重点

1

图书销售管理系统

销售查询、统计、汇总分析

2

通用工资管理系统

工资级别、月报表、年度汇总

3

报刊订阅管理系统

报刊订阅费用、分发与结算

4

医药销售管理系统

销售查询、统计、汇总分析

5

电话计费管理系统

计费方式设计与费用统计

6

宾馆客房管理系统

客房预订、退订、入住及费用

7

学生学籍管理系统

学籍注册、日常管理、退、休学

8

车站售票管理系统

预售票、退票、换票,节假浮动

9

汽车销售管理系统

销售查询、统计、汇总分析

10

仓储物资管理系统

物资库存的统计、查询与分析

11

企业人事管理系统

人事管理与其他系统的接口

12

选修课程管理系统

选修课程流程管理与成绩管理

13

*线上授课管理系统 

线上课程、教师、考勤、授课资源

14

*疫情综合管理系统

社区服务、志愿者、出入管理、定位

 

 课程设计实验报告

 

一、题目:

《教务管理系统》

二、需求分析:

   1、对功能的定义 

(1)学生日常管理

 a)限于全体学生操作。 

 b)一般浏览者只能查看教务信息,不能对它做任何修改。而且不同的用户级别所看到的教务信息是有限制的。 

(2)教师日常管理 

 a)查询单条教务信息:主要适合全体老师操作的。在窗体上先可以选择查询的条件,再输入关键字名。按查询即可。 

 b)查询全部教务信息:是给管理员用的,为了方便管理员查找,也有关键字搜索和模糊搜索,查到记录后,也可双击记录即可显示详细信息。 

 c)成绩查询:输入学号、密码即可查询学生成绩 

(3)操作管理 

 a)仅限管理员。其中可以添加、修改、删除操作学生,设置他们的权限、级别及密码。 

 b)系统整理信息:显示距离管理员整理系统的时间。 

(4)评教管理  

a)打印单条教务记录:适用于一般浏览者和用户。他们只能打印在他们的权限范围内所能查看的教务。  

b)打印全部教务:市委管理员设置的,他们可以根据需要设置打印。 

(5)选课管理  

a)学生进行网上选课  

b)对选课情况进行统计及分析,并生成新的课表

三、数据分析与建模:

 

 186c4c044a6645459698cac1cf3a30ac.png

 一个学校有多个系,一个系有多个专业,也有多个教研室。每个教研室有多名教师。每个专业有不同的班级,每个学生只有一个专业,每个班级由多名学生组成。每个学生可选多个课程,每个课程也可以同时由多名学生选择。一个课程可由多个教师所教,每个教师也可教多个课程。每个教师可指导多名学生。选课中有学生所选课程的成绩,教师任课中有每个教师所开设课程的课程时间。

 

E-R图:

075d7c3d03434a7e9d6a8b6849eefd93.png

关系模型:

学生(学号,姓名,性别,年龄,入学年份,班号,职工号)
班级(班号,班名,专业号)
专业(专业号,专业名,系号)
系(系号,系名,学校名)

教研室(教研室号,教研室名,系号)
老师(职工号,姓名,性别,年龄,学历,职称,入职时间,教研室号)
课程(课程号,课程名,时间,学时,学分,先修课,职工号)
选修(学号,课程号,成绩)
任课(职工号,课程号,开课时间,结课时间)

关系模式:

student(userID,userName,userSex,userAge,markYear,classID,teachID)

class(classID,className,majorID)

major(majorID,majorName,deptID)

depratment(deptID,deptName,stuName)

teacher_room(roomID,roomName,deptID)

teacher(teachID,teachName,teachSex,teachAge,degree,title,teachYear,roomID)

course(courseID,courseName,time,hours,credit,cpno,teachID)

sc(userID,courseID,grade)

setup(teachID,courseID,startTime,endTime)

 

四、数据库建立:

 

各表的属性以及外键、主键等为下图所示(对象):

0005c25f0fe84b179e5765dde5e36b63.png

如下创建了10个表,5个视图,用于方便程序系统开发:

29a333ca37e845aba2bb034d0ba0fda9.png

1.各个表所拥有的属性以及类型、长度和主键等如下图所示:

 

0b38f8f4a5de4b6ca3bd817de1a6d4c6.png

 

7c82908133f04a3c9029c9a8d64670b0.png

 

d0644178c9664ebebe77ec42c171611b.png

 

43c8a90b0c3f4155a76f567745f383d9.png

 

d1a3ec24c23f4c89add02a56d4ae99c7.png

 

6feb98c9bf8a43a79740b019bf69149d.png

 

06177a3b32e4442fa8d5ae85c6d9aed6.png

 

4dc298b2153a4dee82c3de5f3c136f9d.png

 

269cd61253bb4f659df3d65c967ba4a4.png

 

1a1e915fb2a840639becf283f3f3bc64.png

 

2.之后添加外键:

 

3c1f2368f94a4c1f856ef536c8c34536.png

 

da4f0d62abe245bbbbf731524b9558ae.png

 

ba5bb0cdad824d6e85aabc8607eadcba.png

 

202922239c5f4208960a9b84b1f5b535.png

 

3ce9cc257ae74ec9aecc27370840389a.png

 

f6172be73a8e43588f65ed4415a44ce6.png

 

e77ff3dd9830442a9fb490f45de44c72.png

 

078c997d1f524ea1bf85f9a707c30796.png

 

3.添加各元组数据(此处不展示)

 

4.创建视图:

使用

CAEATE VIEW <视图名>(列名,

AS

创建视图(此处只附SELECT语句)

(1)视图teacher_sc:

SELECT teacher.teachID,teachName,courseName,time,hours,startTime,endTimeFROM teacher,course,setupWHERE teacher.teachID=setup.teachID AND course.courseID=setup.courseID

02a00a61b1584bba9a7e670c4c3163b5.png

 

(2)视图teacher_infORMation:

SELECT teachID,teachName,teachSex,teachAge,degree,title,teachYear,roomName,deptName,stuNameFROM teacher,teacher_room,depratmentWHERE teacher.roomID=teacher_room.roomID AND teacher_room.deptID=depratment.deptID

5249f14e794248a9bf572c2a5d7dd925.png

(3)视图teacher_student:

SELECT teacher.teachID,userName,className,courseName,teachName,time,grade,startTime,endTimeFROM student,class,sc,course,teacher,setupWHERE student.classID=class.classID AND sc.userID=student.userID AND sc.courseID=course.courseID AND course.teachID=teacher.teachID AND teacher.teachID=setup.teachID AND setup.courseID=course.courseID

fd3234449fa14f9583443bd943933bdb.png

 

(4)视图student_information:

SELECT userID,userName,userSex,userage,markYear,className,majorName,deptName,stuNameFROM student,class,major,depratmentWHERE student.classID=class.classID AND class.majorID=major.majorID AND major.deptID=depratment.deptID

4c72768f3da4463180ce6c71b3ae2f02.png

(5)视图student_sc_grade:

SELECT student.userID,userName,className,courseName,teachName,time,grade,startTime,endTimeFROM student,class,sc,course,teacher,setupWHERE student.classID=class.classID AND sc.userID=student.userID AND sc.courseID=course.courseID AND course.teachID=teacher.teachID AND teacher.teachID=setup.teachID AND setup.courseID=course.courseID

 e2ceacb0476d4b4ead8ecd905e36a90a.png

 

五、数据库应用开发与运行:(程序代码、界面图、详细功能说明,选做)

//Users.javapackage com.tjl.bean;@SuppressWarnings("all")public class User {    private int id;    private String uname;    private String upass;    private int type;    public User() {        super();    }    public User(String uname, String upass) {        super();        this.uname = uname;        this.upass = upass;    }    public User(String uname, String upass, int type) {        super();        this.uname = uname;        this.upass = upass;        this.type = type;    }    public User(int id, String uname, String upass, int type) {        super();        this.id = id;        this.uname = uname;        this.upass = upass;        this.type = type;    }    @Override    public String toString() {        return "User{" + "id=" + id + ", uname='" + uname + '\'' + ", upass='" + upass + '\'' + ", type=" + type + '}';    }    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getUname() {        return uname;    }    public void setUname(String uname) {        this.uname = uname;    }    public String getUpass() {        return upass;    }    public void setUpass(String upass) {        this.upass = upass;    }    public int getType() {        return type;    }    public void setType(int type) {        this.type = type;    }}
//UserDao.javapackage com.tjl.dao;import com.tjl.bean.User;public interface UserDao {    int login(User user);    boolean insert(User user);    boolean delete(String uname);    boolean update(User user);    User select(String uname);    User select_stu_information(String uname);    User select_stu_sc(String uname);    User select_teacher_information(String uname);    User select_teacher_sc(String uname);}
// UserDao_Imp.javapackage com.tjl.dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import com.tjl.bean.User;import com.tjl.jdbc.JDBCUtils;public class UserDao_Imp implements UserDao {    int whether=0;    private static final String SQL_USER_LOGIN = "select type from user where uname = ? and upass = ?";    private static final String SQL_USER_INSET = "insert into user values (id,?,?,2)";    private static final String SQL_USER_DELETE = "delete from user where uname = ?";    private static final String SQL_USER_UPDATE = "update user set upass = ? where uname = ?";    private static final String SQL_USER_SELECT = "select * from user where uname = ?";    private static final String SQL_STU_information_SELECT = "SELECT * FROM student_information WHERE userID= ?";    private static final String SQL_STU_sc_grade_SELECT = "SELECT * FROM student_sc_grade WHERE userID= ?";    private static final String SQL_TEACHER_information_SELECT = "SELECT * FROM teacher_information WHERE teachID= ?";    private static final String SQL_TEACHER_sc_SELECT = "SELECT * FROM teacher_sc WHERE teachID= ?";    @Override    public int login(User user) {        Connection conn = JDBCUtils.getConnection();        PreparedStatement prepareStatement = null;        ResultSet result = null;               try {        prepareStatement = conn.prepareStatement(SQL_USER_LOGIN);        prepareStatement.setString(1,user.getUname());//设置第一个问号的值        prepareStatement.setString(2,user.getUpass());//设置第二个问号的值        result = prepareStatement.executeQuery();            while(result.next()){                int type = result.getInt("type");                return type;            }        } catch (SQLException e) {            e.printStackTrace();        }finally {            JDBCUtils.close(conn,prepareStatement,result);        }        return -1;//登录失败    }    @Override    public boolean insert(User user) {        Connection conn = JDBCUtils.getConnection();        PreparedStatement prepareStatement = null;        try {            //数据库中已经将type的默认值设置为2,所以这里不需要设置type的值        prepareStatement = conn.prepareStatement(SQL_USER_INSET);        prepareStatement.setString(1,user.getUname());//设置第一个问号的值        prepareStatement.setString(2,user.getUpass());//设置第二个问号的值        int line = prepareStatement.executeUpdate();                   return line>0?true:false;        } catch (SQLException e) {            e.printStackTrace();        }finally {            JDBCUtils.close(conn,prepareStatement,null);        }        return false;    }    @Override    public boolean delete(String uname) {        Connection conn = JDBCUtils.getConnection();        PreparedStatement prepareStatement = null;        try {        prepareStatement = conn.prepareStatement(SQL_USER_DELETE);        prepareStatement.setString(1,uname);//设置第一个问号的值        int line = prepareStatement.executeUpdate();                   return line>0?true:false;        } catch (SQLException e) {            e.printStackTrace();        }finally {        JDBCUtils.close(conn,prepareStatement,null);        }        return false;    }    @Override    public boolean update(User user) {        Connection conn = JDBCUtils.getConnection();        PreparedStatement prepareStatement = null;        try {         prepareStatement = conn.prepareStatement(SQL_USER_UPDATE);        prepareStatement.setString(1,user.getUpass());//设置第一个问号的值        prepareStatement.setString(2,user.getUname());//设置第二个问号的值            int line = prepareStatement.executeUpdate();                   return line>0?true:false;        } catch (sqlException e) {            e.printStackTrace();        }finally {        JDBCUtils.close(conn,prepareStatement,null);        }        return false;    }    @Override    public User select(String uname) {        Connection conn = JDBCUtils.getConnection();        PreparedStatement prepareStatement = null;        ResultSet result = null;        try {        prepareStatement = conn.prepareStatement(SQL_USER_SELECT);        prepareStatement.setString(1,uname);//设置第一个问号的值        result = prepareStatement.executeQuery();            while(result.next()){            int id = result.getInt("id");            uname = result.getString("uname");                String upass = result.getString("upass");                int type = result.getInt("type");                               return new User(id,uname,upass,type);            }                   } catch (SQLException e) {            e.printStackTrace();        }finally {        JDBCUtils.close(conn,prepareStatement,result);        }        return null;//查询失败返回null    }    @Override    public User select_stu_information(String uname) {        Connection conn = JDBCUtils.getConnection();        PreparedStatement prepareStatement = null;        ResultSet result = null;        try {        prepareStatement = conn.prepareStatement(SQL_STU_information_SELECT);        prepareStatement.setString(1,uname);//设置第一个问号的值        result = prepareStatement.executeQuery();            while(result.next()){            System.out.println("—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————");            System.out.print("|学校    |");            System.out.print("学号     |");            System.out.print("姓名 |");            System.out.print("性别 |");            System.out.print("年龄 |");            System.out.print("入学时间 |");            System.out.print("班级         |");            System.out.print("专业         |");            System.out.println("学院       |");            System.out.print("|"+result.getString("stuName")+"    |");            System.out.print(result.getInt("userID")+"    |");                System.out.print(result.getString("userName")+"   |");                System.out.print(result.getString("userSex")+"    |");                System.out.print(result.getInt("userage")+"   |");                System.out.print(result.getString("markYear")+"   |");                System.out.print(result.getString("className")+"  |");                System.out.print(result.getString("majorName")+"  |");                System.out.println(result.getString("deptName")+" |");                System.out.println("—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————");            System.out.println();                return null;            }                   } catch (SQLException e) {            e.printStackTrace();        }finally {        JDBCUtils.close(conn,prepareStatement,result);        }        return null;//查询失败返回null    }    @Override    public User select_stu_sc(String uname) {        Connection conn = JDBCUtils.getConnection();        PreparedStatement prepareStatement = null;        ResultSet result = null;        try {        prepareStatement = conn.prepareStatement(SQL_STU_sc_grade_SELECT);        prepareStatement.setString(1,uname);//设置第一个问号的值        result = prepareStatement.executeQuery();        System.out.println("————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————");        System.out.print("|学号    |");        System.out.print("姓名 |");        System.out.print("班级         |");         System.out.print("课程     |");        System.out.print("课程老师 |");        System.out.print("时间     |");        System.out.print("课程成绩 |");        System.out.print("课程开始时间 |");        System.out.println("课程结束时间   |");        System.out.println("————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————");               while(result.next()){            System.out.print("|"+result.getInt("userID")+"    |");                System.out.print(result.getString("userName")+"   |");                System.out.print(result.getString("className")+"  |");                System.out.print(result.getString("courseName")+" |");                System.out.print(result.getString("teachName")+"      |");                System.out.print(result.getString("time")+"   |");                System.out.print(result.getInt("grade")+"     |");                System.out.print(result.getString("startTime")+"  |");                System.out.println(result.getString("endTime")+"  |");                System.out.println("————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————");            System.out.println();            }                   } catch (SQLException e) {            e.printStackTrace();        }finally {        JDBCUtils.close(conn,prepareStatement,result);        }        return null;//查询失败返回null    }       @Override    public User select_teacher_information(String uname) {        Connection conn = JDBCUtils.getConnection();        PreparedStatement prepareStatement = null;        ResultSet result = null;        try {        prepareStatement = conn.prepareStatement(SQL_TEACHER_information_SELECT);        prepareStatement.setString(1,uname);//设置第一个问号的值        result = prepareStatement.executeQuery();            while(result.next()){            System.out.println("—————————————————————————————————————————————————————————————————————————————————————————————————————————————————");            System.out.print("|学校    |");            System.out.print("职工号   |");            System.out.print("姓名 |");            System.out.print("性别 |");            System.out.print("年龄 |");            System.out.print("学历 |");            System.out.print("职称 |");            System.out.print("入教时间 |");            System.out.print("教研室       |");            System.out.println("学院       |");            System.out.print("|"+result.getString("stuName")+"    |");            System.out.print(result.getInt("teachID")+"   |");                System.out.print(result.getString("teachName")+"  |");                System.out.print(result.getString("teachSex")+"   |");                System.out.print(result.getInt("teachAge")+"  |");                System.out.print(result.getString("degree")+" |");                System.out.print(result.getString("title")+"  |");                System.out.print(result.getString("teachYear")+"  |");                System.out.print(result.getString("roomName")+"   |");                System.out.println(result.getString("deptName")+" |");                               System.out.println("—————————————————————————————————————————————————————————————————————————————————————————————————————————————————");            System.out.println();                return null;            }                   } catch (SQLException e) {            e.printStackTrace();        }finally {        JDBCUtils.close(conn,prepareStatement,result);        }        return null;//查询失败返回null    }       @Override    public User select_teacher_sc(String uname) {        Connection conn = JDBCUtils.getConnection();        PreparedStatement prepareStatement = null;        ResultSet result = null;        try {        prepareStatement = conn.prepareStatement(SQL_TEACHER_sc_SELECT);        prepareStatement.setString(1,uname);//设置第一个问号的值        result = prepareStatement.executeQuery();        System.out.println("—————————————————————————————————————————————————————————————————————————————————————————");        System.out.print("|职工号  |");        System.out.print("姓名 |");        System.out.print("课程     |");        System.out.print("时间     |");        System.out.print("学时 |");        System.out.print("开始教学 |");        System.out.println("结束教学   |");            while(result.next()){            System.out.print("|"+result.getInt("teachID")+"   |");                System.out.print(result.getString("teachName")+"  |");                System.out.print(result.getString("courseName")+" |");                System.out.print(result.getString("time")+"   |");                System.out.print(result.getString("hours")+"  |");                System.out.print(result.getString("startTime")+"  |");                System.out.println(result.getString("endTime")+"  |");                System.out.println("—————————————————————————————————————————————————————————————————————————————————————————");             System.out.println();            whether=1;            }            if(whether==0)                         System.out.println("\n暂无课程教学\n");        } catch (SQLException e) {            e.printStackTrace();        }finally {        JDBCUtils.close(conn,prepareStatement,result);        }        return null;//查询失败返回null    }   }
//View.javapackage com.tjl.view;import com.tjl.bean.User;import java.util.Scanner;public class View {    private static Scanner input = new Scanner(System.in);       static String users=null;    // 首页界面    public static User indexView() {        System.out.println("***********************************");        System.out.println("********\t教务管理系统\t*******");        System.out.println("*********\t请根据提示操作\t*******");        System.out.println("**********\t请输入账号:\t***********");        String uname = input.nextLine();        users=uname;        System.out.println("**********\t请输入密码:\t***********");        String upass = input.nextLine();        System.out.println("***********************************");        return new User(uname, upass);    }    //管理者菜单界面    public static int managerMenuView(){        System.out.println("***********************************");        System.out.println("********\t欢迎管理员回家\t*******");        System.out.println("*********\t请根据提示操作\t*******");        System.out.println("**********\t0.退出\t\t***********");        System.out.println("**********\t1.添加学生信息\t***********");        System.out.println("**********\t2.删除学生信息\t***********");        System.out.println("**********\t3.修改学生信息\t***********");        System.out.println("**********\t4.查询学生信息\t***********");        String type = input.nextLine();        int item = Integer.parseInt(type);        if(item<0||item>4) {            System.out.println("输入错误,请重新输入:");            return managerMenuView();        }        System.out.println("***********************************");        return item;    }      //增加用户界面    public static User addMenuView(){        System.out.println("***********************************");        System.out.println("********\t添加用户界面\t*******");        System.out.println("*********\t请根据提示操作\t*******");        System.out.println("**********\t请输入账号:\t***********");        String uname = input.nextLine();        System.out.println("**********\t请输入密码:\t***********");        String upass = input.nextLine();        System.out.println("***********************************");        return new User(uname,upass);    }    //删除用户界面       public static String deleteMenuView(){        System.out.println("***********************************");        System.out.println("********\t删除用户界面\t*******");        System.out.println("*********\t请根据提示操作\t*******");        System.out.println("**********\t请输入账号:\t***********");        String uname = input.nextLine();        System.out.println("***********************************");        return uname;    }    //更新修改用户界面       public static User updateMenuView(){        System.out.println("***********************************");        System.out.println("********\t修改用户界面\t*******");        System.out.println("*********\t请根据提示操作\t*******");        System.out.println("**********\t请输入账号:\t***********");        String uname = input.nextLine();        System.out.println("**********\t请输入新密码:\t***********");        String upass = input.nextLine();        System.out.println("***********************************");        return new User(uname,upass);    }     //查询用户界面      public static String selectMenuView(){        System.out.println("***********************************");        System.out.println("********\t查询用户界面\t*******");        System.out.println("*********\t请根据提示操作\t*******");        System.out.println("**********\t请输入查询账号:\t***********");        String uname = input.nextLine();        System.out.println("***********************************");        return uname;    }    public static void printUser(User user) {    System.out.println("用户ID:"+user.getId());    System.out.println("用户名:"+user.getUname());    System.out.println("密码:"+user.getUpass());    if(user.getType()==1) {        System.out.println("用户权限:管理员");    }else if(user.getType()==2){        System.out.println("用户权限:学生");    }else {        System.out.println("用户权限:老师");    }    }    //学生界面    public static int studentMenuView(){        System.out.println("***********************************");        System.out.println("********\t欢迎学生回家\t*******");        System.out.println("*********\t请根据提示操作\t*******");        System.out.println("**********\t0.退出\t\t***********");        System.out.println("**********\t1.修改密码\t***********");        System.out.println("**********\t2.查询个人信息\t***********");        System.out.println("**********\t3.查询选课信息\t***********");        boolean flag = true;        int num = -1;        while(flag){            num = Integer.parseInt(input.nextLine());            if (num >= 0 && num <= 3) {                flag = false;//退出循环                break;            }            System.out.println("输入错误,请重新输入:");        }        System.out.println("***********************************");        return num;    }        //修改密码界面           public static String alterPassView(){        System.out.println("***********************************");        System.out.println("********\t修改密码界面\t*******");        System.out.println("*********\t请根据提示操作\t*******");        System.out.println("**********\t请输入新密码:\t***********");        String upass = input.nextLine();        System.out.println("***********************************");        return upass;    }     //学生界面    public static int teacherMenuView(){        System.out.println("***********************************");        System.out.println("********\t欢迎老师回家\t*******");        System.out.println("*********\t请根据提示操作\t*******");        System.out.println("**********\t0.退出\t\t***********");        System.out.println("**********\t1.修改密码\t***********");        System.out.println("**********\t2.查询个人信息\t***********");        System.out.println("**********\t3.查询课表信息\t***********");        boolean flag = true;        int num = -1;        while(flag){            num = Integer.parseInt(input.nextLine());            if (num >= 0 && num <= 3) {                flag = false;//退出循环                break;            }            System.out.println("输入错误,请重新输入:");        }        System.out.println("***********************************");        return num;    }         }
//JDBCUtils.javapackage com.tjl.jdbc;import java.io.IOException;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Properties;public class JDBCUtils {    private static String driver;    private static String url;    private static String username;    private static String password;       static {        InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("db.properties");               Properties p=new Properties();        try {            p.load(is);            driver = p.getProperty("driver");            url = p.getProperty("url");            username = p.getProperty("username");            password = p.getProperty("password");            //加载驱动            Class.forName(driver);            //System.out.println("驱动加载成功");        } catch (Exception e) {            // TODO Auto-generated catch block            e.printStackTrace();        }                   }    public static Connection getConnection() {        try {            //System.out.println("数据库连接成功");            return DriverManager.getConnection(url,username,password);               } catch (SQLException e) {            // TODO Auto-generated catch block            System.out.println("数据库连接失败");            e.printStackTrace();        }        return null;    }       public static void close(Connection conn, Statement statement, ResultSet result) {        try {            if(result!=null) {                result.close();                result=null;            }            if(statement!=null) {                statement.close();                statement=null;            }            if(conn!=null) {                conn.close();                conn=null;            }        }catch (SQLException e) {            e.printStackTrace();        }    }   }
//Contral.javapackage com.tjl.controller;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import com.tjl.bean.User;import com.tjl.dao.UserDao_Imp;import com.tjl.jdbc.JDBCUtils;import com.tjl.view.View;public class Control {    private static final String SQL_STU_information_SELECT = "SELECT * FROM student_information WHERE userID= ?";    static UserDao_Imp userDao_Imp = new UserDao_Imp();    public static void main(String[] args) {        while (true) {    User user = View.indexView();    //UserDao_Imp userDao_Imp = new UserDao_Imp();        //User user = null;        //int type = -1;        //boolean flag=true;//循环标志位            //user = View.indexView();            //type = userDao.login(user);    int type = userDao_Imp.login(user);            switch (type) {                case -1:                    System.out.println("登录失败,请重新登录:");                    break;                case 1:                    System.out.println("恭喜管理员登录成功!");                    managerServer();                    break;                case 2:                    System.out.println("恭喜学生登录成功!");                    studentServer(user.getUname());                    break;                case 3:                System.out.println("恭喜老师登录成功!");                teacherServer(user.getUname());                default:                    break;            }        }    }        //管理员控制    public static void managerServer(){        boolean flag=true;//循环标志位        //UserDao_Imp userDao_Imp = new UserDao_Imp();        while (flag){            int choice = View.managerMenuView();//选择操作            switch (choice){                case 0:                    System.out.println("退出系统,再见!");                    flag=false;                    break;                case 1:                    User newUser = View.addMenuView();                    if (userDao_Imp.insert(newUser)){                        System.out.println("恭喜添加成功!");                    }else {                        System.out.println("插入失败");                    }                    break;                case 2:                    String uname = View.deleteMenuView();                    if (userDao_Imp.delete(uname)){                        System.out.println("恭喜删除成功");                    }else {                        System.out.println("删除失败");                    }                    break;                case 3:                    User user = View.updateMenuView();                    if (userDao_Imp.update(user)){                        System.out.println("恭喜修改成功!");                    }else {                        System.out.println("修改失败");                    }                    break;                case 4:                    String uname2 = View.selectMenuView();                    User selectUser = userDao_Imp.select(uname2);                    if (selectUser!=null){                        System.out.println("您查询的信息如下:");                        //System.out.printf("姓名:%s \n密码:%s \n用户类型:%d\n",                          //      selectUser.getUname(),selectUser.getUpass(),selectUser.getType());                        View.printUser(selectUser);                    }else {                        System.out.println("查询失败,查无此人");                    }                    break;                default:                    break;            }        }    }     //学生控制       public static void studentServer(String uname){        boolean flag=true;//循环标志位        while (flag){            int choice = View.studentMenuView();//选择操作            switch (choice){                case 0:                    System.out.println("退出系统,再见!");                    flag=false;                    break;                case 1:                    String psw = View.alterPassView();                    if (userDao_Imp.update(new User(uname,psw))){                        System.out.println("恭喜修改密码成功!");                    }else {                        System.out.println("修改密码失败!");                    }                    break;                case 2:                userDao_Imp.select_stu_information(uname);                break;                case 3:                userDao_Imp.select_stu_sc(uname);                break;                default:                    break;            }        }    }       //老师控制       private static void teacherServer(String uname) {    boolean flag=true;//循环标志位        while (flag){            int choice = View.teacherMenuView();//选择操作            switch (choice){                case 0:                    System.out.println("退出系统,再见!");                    flag=false;                    break;                case 1:                    String psw = View.alterPassView();                    if (userDao_Imp.update(new User(uname,psw))){                        System.out.println("恭喜修改密码成功!");                    }else {                        System.out.println("修改密码失败!");                    }                    break;                case 2:                userDao_Imp.select_teacher_information(uname);                break;                case 3:                userDao_Imp.select_teacher_sc(uname);                break;                default:                    break;            }        }    }}
// db.properties(用于连接数据库的系统以及账号和密码)driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/edu_manageusername=rootpassword=13657588218man

六、程序结果截图

f648a54f5e664d088960d7c64aed010c.png

 

db28c297270349529bc6eaa2407f5e0c.png

 

4bb120f01a6c43668d0e69c3cd3e0eac.png

 

fc253ae313174a9186c2844f7c5aff5d.png

 

11cb06e3d2fe473f96e94003f137560c.png

 

124386d5767a434c9b7e3b88d1560c3b.png

 

f52faea4d48049048244d9e8d5aa0b33.png

 

d9a46a6926ee45c0b0cbf105eee1d3f1.png

 

951b41bf469e4bacb4625dfdcc8f488f.png

 

通过对学生的账号和密码以及管理员账号和密码以及老师的账号和密码,通过与数据库的匹配,识别进入不同的系统。实现管理员的增删改查,以及学生和老师的查询等。

de54f03667fd412b9e1f938670858cc2.png

七、结果分析与心得体会:

本学期学习了数据库原理课程,本次课程所对应的课程设计,通过本次课程设计,深刻学习到了数据库的应用与学习。本次课程设计有多个命题,不过对于自己能力的评定,最后选择学习过程中最熟悉的《教务管理系统》。通过网上资料的学习、以及书本的知识,先构建自己的需求设计,然后进行E-R图的构建,再进行关系模型的构建,最后使用MySQL进行表和视图的建立。

数据库的建立完成后,通过资料的学习,想进行程序的开发,最后使用eclipse,进行与数据库的连接,完成最后的增删改查。虽然没有达到最后自己所想的预期,不过通过本次经历也学习到了很多知识。总的来说,本次课程设计,收获颇多,不仅储备了自己的知识,还学习到了许多新知识,对今后的学习与应用有了进一步的学习。

 

 

来源地址:https://blog.csdn.net/weixin_48388330/article/details/122513738

您可能感兴趣的文档:

--结束END--

本文标题: 教务管理系统——数据库课程设计mysql+java

本文链接: https://lsjlt.com/news/422248.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 教务管理系统——数据库课程设计mysql+java
    数据库原理与应用课程设计 任  务  书 https://download.csdn.net/download/weixin_48388330/85448967https://download.csdn.net/download/weixi...
    99+
    2023-10-01
    数据库 mysql java eclipse database
  • 数据库课程设计:高校教务管理系统(含代码)
    写在最开始:此课程设计是我2021年暑假自己一行一行代码写出来的,现在免费分享给大家,如果有帮到你的话希望可以给我点个赞哦,谢谢。 如果有什么问题可以留下评论,我看到的话会回你的,但是我只能回答我的...
    99+
    2023-09-28
    数据库 java sqlserver mysql
  • 宾馆客房管理系统Mysql数据库课程设计
    引 言 随着全球经济一体化使酒店业客源更加丰富多样化,市场更加广阔多渠道的同时,酒店业更面临着日趋激烈的竞争环境和不断攀升的客户期望,迫使业内人士不断进一步寻求扩大酒店销售、改进服务质量、降低管理成本和提升客户满意度的新法宝来增强酒店的核心...
    99+
    2023-09-11
    数据库 mysql 数据库开发 navicat
  • 【课程设计】数据库:火车票管理系统
    【课程设计】数据库:火车票管理系统 摘要:本文主要介绍了火车票管理系统,其中包括其选题功能概述,对该系统的方案方法设计,以及过程实现等内容。由于系统的代码量较大,因此将会较为抽象地对思想进行介绍,...
    99+
    2023-09-03
    数据库 课程设计 mysql qt python
  • Java图书管理系统课程设计
    本文实例为大家分享了Java图书管理系统的具体代码,供大家参考,具体内容如下 大二上学期做的一个Java课程设计,总分为四个Java文件,AllBook,AllBorrow,AllS...
    99+
    2024-04-02
  • 数据库课程设计-图书馆管理系统(2.数据库实现-基于mysql)
    如果对你有帮助,可以给卑微的博主留个赞、关注、收藏   (不是)  (骗一下数据,说不定以后面试就过了,拜谢) 好像有读者说现在不要积分的资源也要vip才能下,如果下不了可以留邮箱到评论区或者私聊,我也把资源放到github了,地址如下: ...
    99+
    2023-09-10
    数据库 mysql 课程设计
  • 客户管理系统课程设计
    客户管理系统的课程设计是指根据客户的需求,开发和设计出能够满足客户要求的系统。该系统可以用于记录客户的详细信息,包括客户的名称、联系方式、购买的产品或服务等,从而方便客户与公司之间的沟通和交流。同时,该系统也可以用于跟踪客户的购买历史,以便...
    99+
    2024-01-18
    课程设计 客户管理系统
  • C++实现教职工管理系统课程设计
    本文实例为大家分享了C++实现教职工管理系统的具体代码,供大家参考,具体内容如下 要求:设计一个程序来管理职工较全面数据信息,具备数据的输入、查找、删除等功能。具体功能细节可以根据自...
    99+
    2024-04-02
  • 课程设计之学生选课管理系统
    一、课程设计任务 完成学生选课管理系统的开发 二、需求描述 本系统是一个单机版的小型的学生选课管理系统,在本系统中,开发了一个面向管理员、学生和教师这三个对象的教务平台,对学生提供的服务有登录、选课、、修改登录密码、和查询成绩这几个服务,所...
    99+
    2023-10-03
    java mysql 数据库
  • 数据库课程设计
      目录 第一章 前言 1.1 背景和意义 1.2 设计目标 第2章 数据库设计  2.1 需求分析 2.2 概念结构设计   2.3 逻辑结构设计  2.4 关系模式规范化检查及处理 第3章 数据库定义与操作 3.1 数据库及数据表定...
    99+
    2023-10-06
    数据库 mysql java
  • C++实现教职工信息管理系统课程设计
    本文实例为大家分享了C++实现教职工信息管理系统的具体代码,供大家参考,具体内容如下 #include<iostream> #include<cstring&g...
    99+
    2024-04-02
  • 学生管理系统--课程设计项目(Java+SQL server)
    本科参与项目文档合集: 点击跳转~ 学生管理系统 Student Management System 学校:山东科技大学 指导老师:杨 * * 教授 学号:2019032**** 学生姓名:安** 专业班级:计算机19-1    ...
    99+
    2023-12-22
    java 课程设计 数据库
  • 【课程设计】基于PHP的博客管理系统(数据库+源码+文档)
    资源获取 ==资源获取地址: 失效请请私信博主 技术阐述 1 PHP 技术 做为主流的网络程序开发语言,PHP 越来越多的被网站制作者所 使用。PHP,代表的是超文本处理器,是超级文本预处理语言的缩写...
    99+
    2023-09-12
    php 数据库 服务器
  • C++实现班车管理系统课程设计
    本文实例为大家分享了C++实现班车管理系统的具体代码,供大家参考,具体内容如下 课程设计要求: 一交通公司,班车系统的数据包括如下两部分: ①班车信息:班交及车号、最大载客数、起点、...
    99+
    2024-04-02
  • C++课程设计之图书馆管理系统
    本文实例为大家分享了C++课程设计之图书馆管理系统的具体代码,供大家参考,具体内容如下 一.代码 #include<bits/stdc++.h> using namesp...
    99+
    2024-04-02
  • C++实现图书管理系统课程设计
    本文实例为大家分享了C++实现图书管理系统的具体代码,供大家参考,具体内容如下 大一 C++课设,没有用分文件的形式,只是把菜单页面单独分开了。用的是链表,都是一些基础的东西。另外采...
    99+
    2024-04-02
  • Java学生信息管理系统设计(数据库版)
    本文实例为大家分享了数据库版的Java学生信息管理系统,供大家参考,具体内容如下package Student_system; import java.awt.*; import java.awt.event.*; import jav...
    99+
    2023-05-30
    java 管理系统 学生信息管理系统
  • 学生信息管理系统的数据库设计MySQL
    学生信息管理系统的数据库设计 1.课程设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和...
    99+
    2023-10-23
    数据库 mysql
  • Java图书管理系统,课程设计必用(源码+文档)
    目录设计准备一、系统开发目的和意义二、系统总体设计主页:系统主界面:图书添加页面:图书表单操作页面:搜索页面:维护界面三、数据库四、重要源码改变系统默认字体:重置事件处理:搜索事件处...
    99+
    2024-04-02
  • C语言实现宾馆管理系统课程设计
    本文实例为大家分享了C语言实现宾馆管理系统的具体代码,供大家参考,具体内容如下 课程设计题目: 宾馆管理系统 一、需求分析 近年来,科技进步不仅促进了全球旅游企业的快速增长,而且指导...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作