学生选课系统java实现

来源:互联网 发布:手机淘宝店铺首页大图 编辑:程序博客网 时间:2024/04/29 21:59

需求描述

学生选课系统是集管理员管理系别、班级、课程、教师、学生,学生登录、修改密码、查看选课信息、选课、查看所选课程成绩,教师登录、修改密码、查看认可信息、录入修改成绩这些功能于一体的系统。

1. 列表内容
管理员维护基本资料
1)管理员
2)系别
3)班级
4)科目
5)教师
6)学生
2. 学生登录
1)修改密码
2)查看可选课程信息
3)选课
4)查看所选课程成绩
3. 教师登录
1)修改密码
2)查看任课信息
3)查看选课信息
4)录入修改成绩

语言和环境

实现语言:java
实现技术:JavaSE、JDBC、Swing
环境要求:NetBeans 8.0.2、SQL Server 2014、JDK 1.8.0

主要结构

包名 说明 com.gs.stu.source 图片资源包 com.gs.stu.util 工具类包 com.gs.stu.bean 实体类包 com.gs.stu.dao 数据访问接口包 com.gs.stu.service 业务逻辑接口包 com.gs.stu.service.impl 业务逻辑实现类包 com.gs.stu.view 视图包

详细设计

util包

包名 类 说明 com.gs.stu.util DBConnection 数据库连接关闭类 LocationUtil 窗体显示位置工具类 FrameUtil 内部窗体创建工具类

bean包

包名 类 说明 com.gs.stu.bean Manager 管理员类 Department 系部类 ClassBean 班级类 Teacher 教师类 TeacherView 教师视图类 Course 课程类 CourseView 课程视图类 Student 学生类 StudentView 学生视图类 SelectCourse 选课类 SelectCourseView 选课视图类 Log 日志类

dao包

包名 接口 说明 com.gs.stu.dao SysManagerDao 管理员管理接口 SysDepartmentDao 系部管理接口 SysClassDao 班级管理接口 SysTeacherDao 教师管理接口(管理员部分) SysCourseDao 课程管理接口 SysStudentDao 学生管理接口(管理员部分) SysLogDao 日志管理接口 StudentDao 学生管理接口 TeacherDao 教师管理接口

service包

包名 接口 说明 com.gs.stu.service SysManagerService 管理员业务管理接口 SysDepartmentService 系部业务管理接口 SysClassService 班级业务管理接口 SysTeacherService 教师业务管理接口(管理员部分) SysCourseService 课程业务管理接口 SysStudentService 学生业务管理接口(管理员部分) SysLogService 日志业务管理接口 StudentService 学生业务管理接口 TeacherService 教师业务管理接口

功能模块设计(后台)

管理员管理部分

管理员业务管理模块

1. Dao接口类:
类名:SysManagerDao成员变量:private int id;--编号private String sysaccount;--用户名private String syspassword;--密码
2. 接口内方法:
Manager managerLogin(String sysaccount,String syspassword);--根据帐号和密码查询管理员int addManager(Manager m);-- 添加管理员int deleteManager(int id);-- 删除管理员int updateManager(Manager m);-- 修改管理员密码Manager findManagerById(int id);-- 根据id查询管理员Manager findManagerByAccount(String sysaccount);-- 根据帐号查询管理员List<Manager> findAllManager();--查询所有管理员信息
3. Service接口类
类名:SysManagerServiceManager managerLogin(String sysaccount,String syspassword);-- 根据帐号和密码查询管理员boolean addManager(Manager m);-- 添加管理员boolean deleteManager(int id);-- 删除管理员boolean updateManager(Manager m);-- 修改管理员密码Manager findManagerById(int id);-- 根据id查询管理员Manager findManagerByAccount(String sysaccount);-- 根据帐号查询管理员List<Manager> findAllManager();--查询所有管理员信息
4. 具体实现类个别详解

1) Dao接口实现类名称:SysManagerDaoImpl

//例:查询所有管理员信息public List<Manager> findAllManager() {        List<Manager> list = new ArrayList<Manager>();        Connection conn =DBConnection.getConnection(); //创建连接        Manager mng =null;//创建一个管理员空对象        String sql = "use selectivedb select * from t_manager ";//数据库要执行的操作//调用Execute类中的executeQuery(String sql,Connection con)来执行        ResultSet rs =ExecuteSql.executeQuery(sql, conn);        try{            while(rs.next()){            mng = new Manager();            mng.setId(rs.getInt("id"));            mng.setSysaccount(rs.getString("sysaccount"));            mng.setSyspassword(rs.getString("Syspassword"));            list.add(mng);//将获取到的Manager放到list中            }        }catch(Exception e){            e.printStackTrace();        }        return list;    }

2) Service实现类名:SysManagerServiceImpl

//例:提供查找所有的管理员的服务public List<Manager> findAllManager() {        return s.findAllManager();}

系部业务管理模块

1. Dao接口类:
类名:SysDepartmentDao成员变量:   private int id;private String depname;
2. 接口内方法:
int addDepartment(Department dep);-- 添加系int deleteDepartment(int id);-- 删除系int updateDepartment(Department dep);-- 更新系名称Department findDepById(int id);-- 根据编号查找系Department findDepByName(String depname);-- 根据名称查找系List<Department> findAllDep();--查看所有系
3. Service接口类
类名:SysDepartmentServiceboolean addDepartment(Department dep);-- 添加系boolean deleteDepartment(int id);-- 删除系boolean updateDepartment(Department dep);-- 更新系名称Department findDepById(int id);-- 根据编号查找系Department findDepByName(String depname);-- 根据名称查找系List<Department> findAllDep();--查看所有系
4. 具体实现类个别详解
1)  Dao接口实现类名称:SysDepartmentDaoImpl    //添加系    public int addDepartment(Department dep) {        int i = 0;        String depname = dep.getDepname();        Connection conn =DBConnection.getConnection();        try{            String sql ="use selectivedb insert into t_department (depname) values('"+depname+"')";            i = ExecuteSql.executeUpdate(sql, conn);        }catch(Exception e){            e.printStackTrace();        }        DBConnection.closeConn(conn);        return i;}2)  Service实现类名:SysDepartmentServiceImpl    public boolean addDepartment(Department dep) {        return(s.addDepartment(dep)==1);    }   

班级业务管理

1. Dao接口类:
类名: SysClassDao成员变量:private int id;private String classname;接口内方法://添加班级public int addClassBean(ClassBean classbean);//删除班级public int deleteClassBean(int id);//修改班级public int updateClassBean(ClassBean classbean);//根据编号查找班级public ClassBean findClassBeanById(int id);//根据名称查找班级public ClassBean findClassBeanByName(String classname);//查看所有班级public List<ClassBean> findAllClass();
2. Service接口类
类名: SysClassService接口内的方法://添加班级public boolean addClassBean(ClassBean classbean);//删除班级public boolean deleteClassBean(int id);//修改班级public boolean updateClassBean(ClassBean classbean);//根据编号查找班级public ClassBean findClassBeanById(int id);//根据名称查找班级public ClassBean findClassBeanByName(String classname);//查看所有班级public List<ClassBean> findAllClass();
3. 具体实现类个别详解
Dao接口实现类名称:SysClassDaoImpl//通过班级名称来找到班级    public ClassBean findClassBeanByName(String classname) {        Connection conn =DBConnection.getConnection();        ClassBean clsb = null;        String sql = "use selectivedb select * from t_class where classname= '"+classname+"'";        ResultSet rs =null;        try{            rs =ExecuteSql.executeQuery(sql, conn);            while(rs.next()){                clsb = new ClassBean();                clsb.setId(rs.getInt("id"));                clsb.setClassname(rs.getString("classname"));                            }        }catch(Exception e){            e.printStackTrace();        }        DBConnection.closeConn(conn);        return clsb;      }Service实现类名:SysClassServiceImpl//通过班级名称来找到班级    public ClassBean findClassBeanByName(String classname) {        return c.findClassBeanByName(classname);    }

教师业务管理

1. Dao接口类:
类名: TeacherDao成员变量:TeacherView:   private int tid;   private String tpassword;   private String tname;   private String tsex;   private int tage;   private String tjob;   private String depname;Teacher:   private int tid;   private String tpassword;   private String tname;   private short tsex;   private int tage;   private String tjob;   private int tdepartment;接口内方法:    //1.登录    public Teacher teacherLogin(int tid, String tpassword);    //2.修改密码    public int updatePassword(int tid, String tpassword);    //3.查看自己的任课信息    public List<Course> findCourseByTeacher(int tid);//根据教师编号查询教师任课信息    //4.查看选课信息(某门课有哪些学生选修)    public List<StudentView> findSelectCourseByCid(int cid);//根据课程号查询选课信息    //5.录入成绩    public int updateScore(SelectCourse sc);//根据学号,课程号,录入或修改成绩    //6.成绩信息查看(某门课成绩)    public List<SelectCourseView> findCourseScoreByCid(int cid);
2. Service接口类
类名: SysTeacherService类中方法://添加教师    public boolean addTeacher(Teacher tea);    //删除教师    public boolean deleteTeacher(int tid);    //修改教师    public boolean updateTeacher(Teacher tea);    //根据教师工号查找    public TeacherView findTeaById(int tid);    //查看所有教师    public List<TeacherView> findAllTeacher();
3. 具体实现类个别详解
Dao接口实现类名称:SysTeacherDaoImpl//更新教师信息public int updateTeacher(Teacher tea) {     int tid = tea.getTid();     String tpassword= tea.getTpassword();     String tname = tea.getTname();     short tsex = tea.getTsex();     int tage = tea.getTage();     String tjob = tea.getTjob();     int tdepartment = tea.getTdepartment();     int i = 0;     Connection conn =DBConnection.getConnection();     try{        String sql ="use selectivedb update t_teacher set tpassword = '"+tpassword+         "',Tname = '"+tname+"',Tsex = "+tsex+",tage ="+tage+",Tjob = '"+tjob+"',tDepartment="                + ""+tdepartment+" where tid = "+tid;         i = ExecuteSql.executeUpdate(sql, conn);       }catch(Exception e){        e.printStackTrace();      }     DBConnection.closeConn(conn);     return i;    }Service实现类名:SysTeacherServiceImpl//提供更新教师信息服务public boolean updateTeacher(Teacher tea) {        return (s.updateTeacher(tea)==1);       }

课程业务管理

1. Dao接口类:
类名: SysCourseDao成员变量:CourseView:   private int id;   private String coursename;   private int credit;   private String ctime;   private String caddress;   private String tname;   private int limitnumber;   private int truenumber;Course:   private int id;   private String coursename;   private int credit;   private String ctime;   private String caddress;   private int teacher;   private int limitnumber;   private int truenumber;接口内方法:    //添加课程    public int addCourse(Course cou);    //根据课程编号删除课程    public int deleteCourse(int id);    //修改课程    public int updateCourse(Course cou);    //根据课程名查找课程    public CourseView findCouByName(String coursename);    //查看所有课程    public List<CourseView> findAllCourse();    public boolean findCouByAll(Course cou);
2. Service接口类

类名: SysCourseService

3. 具体实现类个别详解
Dao接口实现类名称:Service实现方法名:    //添加课程    public boolean addCourse(Course cou);    //删除课程    public boolean deleteCourse(int id);    //修改课程    public boolean updateCourse(Course cou);    //根据课程名查找课程    public CourseView findCouByName(String coursename);    //查看所有课程    public List<CourseView>findAllCourse();    public boolean findCouByAll(Course cou);

学生业务管理

1. Dao接口类:
类名: SysStudentDao成员变量:StudentView:    private int sid;    private String sname;    private String spassword;    private String ssex;    private int sage;    private String classname;private String depname;Student:    private int sid;    private String sname;    private String spassword;    private short ssex;    private int sage;    private int sclass;    private int sdepartment;接口内方法:    //添加学生    public int addStudent(Student stu);    //删除学生    public int deleteStudent(int sid);    //修改学生    public int updateStudent(Student stu);    //根据学号查找学生    public StudentView findStuById(int sid);    //查找所有学生    public  List<StudentView> findAllStudent();
2. Service接口类
类名: SysStudentService接口内方法:    //添加学生并返回学号    public boolean addStudent(Student stu);    //删除学生    public boolean deleteStudent(int sid);    //修改学生    public boolean updateStudent(Student stu);    //根据学号查找学生    public StudentView findStuById(int sid);    //查找所有学生    public  List<StudentView> findAllStudent();
3. 实现类
Dao接口实现类名称:SysStudentDaoImplService实现类名:SysStudentServiceImpl   

日志管理

1. Dao接口类:
类名: SysLogDao成员变量:  private int id ;  private String Loginaccount ;  private String Logintime  ;接口内方法:  //记录登录信息  public int setLog(Log log);  //获得所有登录日志  public List<Log> getLogs();
2. Service接口类
类名: SysLogService接口内方法:    //记录登录信息    public boolean setLog(Log log);    //获得所有登录日志    public List<Log> getLogs();
3. 实现类
Dao接口实现类名称:SysLogDaoImplService实现类名:SysLogServiceImpl

教师管理部分

1. Dao接口类:TeacherDao

    //1.登录    public Teacher teacherLogin(int tid, String tpassword);    //2.修改密码    public int updatePassword(int tid, String tpassword);    //3.查看自己的任课信息    public List<Course> findCourseByTeacher(int tid);//根据教师编号查询教师任课信息    //4.查看选课信息(某门课有哪些学生选修)    public List<StudentView> findSelectCourseByCid(int cid);//根据课程号查询选课信息    //5.录入成绩    public int updateScore(SelectCourse sc);//根据学号,课程号,录入或修改成绩    //6.成绩信息查看(某门课成绩)    public List<SelectCourseView> findCourseScoreByCid(int cid);
1 1