java 课程管理系统_javaweb课程信息管理系统

packagedao;importjava.sql.Connection;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.util.ArrayList;importjava.util.List;importutil.Util;importbin.Course;/*** 课程Dao

* Dao层操作数据

*@authorYP*/

public classCourseDao {/*** 添加

*@paramcourse

*@return

*/

public booleanadd(Course course) {

String sql= "insert into course(name, teach, local) values('" + course.getName() + "','" + course.getTeach() + "','" + course.getLocal() + "')";//创建数据库链接

Connection conn =Util.getConn();

Statement state= null;boolean f = false;int a = 0;try{

state=conn.createStatement();

state.executeUpdate(sql);

}catch(Exception e) {

e.printStackTrace();

}finally{//关闭连接

Util.close(state, conn);

}if (a > 0) {

f= true;

}returnf;

}/*** 删除

*

*@paramid

*@return

*/

public boolean delete (intid) {boolean f = false;

String sql= "delete from course where id='" + id + "'";

Connection conn=Util.getConn();

Statement state= null;int a = 0;try{

state=conn.createStatement();

a=state.executeUpdate(sql);

}catch(SQLException e) {

e.printStackTrace();

}finally{

Util.close(state, conn);

}if (a > 0) {

f= true;

}returnf;

}/*** 修改

*@paramname

*@parampass*/

public booleanupdate(Course course) {

String sql= "update course set name='" + course.getName() + "', teach='" + course.getTeach() + "', local='" +course.getLocal()+ "' where id='" + course.getId() + "'";

Connection conn=Util.getConn();

Statement state= null;boolean f = false;int a = 0;try{

state=conn.createStatement();

a=state.executeUpdate(sql);

}catch(SQLException e) {

e.printStackTrace();

}finally{

Util.close(state, conn);

}if (a > 0) {

f= true;

}returnf;

}/*** 验证课程名称是否唯一

* true --- 不唯一

*@paramname

*@return

*/

public booleanname(String name) {boolean flag = false;

String sql= "select name from course where name = '" + name + "'";

Connection conn=Util.getConn();

Statement state= null;

ResultSet rs= null;try{

state=conn.createStatement();

rs=state.executeQuery(sql);while(rs.next()) {

flag= true;

}

}catch(SQLException e) {

e.printStackTrace();

}finally{

Util.close(rs, state, conn);

}returnflag;

}/*** 通过ID得到课程信息

*@paramid

*@return

*/

public Course getCourseById(intid) {

String sql= "select * from course where id ='" + id + "'";

Connection conn=Util.getConn();

Statement state= null;

ResultSet rs= null;

Course course= null;try{

state=conn.createStatement();

rs=state.executeQuery(sql);while(rs.next()) {

String name= rs.getString("name");

String teach= rs.getString("teach");

String local= rs.getString("local");

course= newCourse(id, name, teach, local);

}

}catch(Exception e) {

e.printStackTrace();

}finally{

Util.close(rs, state, conn);

}returncourse;

}/*** 通过name得到Course

*@paramname

*@return

*/

publicCourse getCourseByName(String name) {

String sql= "select * from course where name ='" + name + "'";

Connection conn=Util.getConn();

Statement state= null;

ResultSet rs= null;

Course course= null;try{

state=conn.createStatement();

rs=state.executeQuery(sql);while(rs.next()) {int id = rs.getInt("id");

String teach= rs.getString("teach");

String local= rs.getString("local");

course= newCourse(id, name, teach, local);

}

}catch(Exception e) {

e.printStackTrace();

}finally{

Util.close(rs, state, conn);

}returncourse;

}/*** 查找

*@paramname

*@paramteach

*@paramlocal

*@return

*/

public Listfind(String name, String teach, String local) {

String sql= "select * from course where ";if (name != "") {

sql+= "name like '%" + name + "%'";

}if (teach != "") {

sql+= "teach like '%" + teach + "%'";

}if (local != "") {

sql+= "local like '%" + local + "%'";

}

List list = new ArrayList<>();

Connection conn=Util.getConn();

Statement state= null;

ResultSet rs= null;try{

state=conn.createStatement();

rs=state.executeQuery(sql);

Course bean= null;while(rs.next()) {int id = rs.getInt("id");

String name2= rs.getString("name");

String teach2= rs.getString("teach");

String local2= rs.getString("local");

bean= newCourse(id, name2, teach2, local2);

list.add(bean);

}

}catch(SQLException e) {

e.printStackTrace();

}finally{

Util.close(rs, state, conn);

}returnlist;

}/*** 全部数据

*@paramname

*@paramteach

*@paramlocal

*@return

*/

public Listlist() {

String sql= "select * from course";

List list = new ArrayList<>();

Connection conn=Util.getConn();

Statement state= null;

ResultSet rs= null;try{

state=conn.createStatement();

rs=state.executeQuery(sql);

Course bean= null;while(rs.next()) {int id = rs.getInt("id");

String name2= rs.getString("name");

String teach2= rs.getString("teach");

String local2= rs.getString("local");

bean= newCourse(id, name2, teach2, local2);

list.add(bean);

}

}catch(SQLException e) {

e.printStackTrace();

}finally{

Util.close(rs, state, conn);

}returnlist;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学生信息管理系统java课程设计(含源代码)   JAVA程序设计 课程设计报告 课 题: 学生信息管理系统 姓 名: 学 号: 同组姓名: 专业班级: 指导教师: 设计时间:   目 录 一、系统描述 2 1、需要实现的功能 3 2、设计目的 3 二、分析与设计 3 1、功能模块划分 3 2、数据库结构描述 4 3、系统详细设计文档 6 4、各个模块的实现方法描述 9 5、测试数据及期望结果 11 三、系统测试 16 四、心得体会 23 五、参考文献 24 六、附录 24 一、系统描述 1、需求实现的功能 、录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入 时,如果数据库已经存在该学号,则不能再插入该学号。 、修改学生基本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 、查询学生基本信息的功能 可使用 "姓名"对已存有的学生资料进行查询。 、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。 、用户登陆 用不同的登录权限可以进入不同的后台界面,从而实现权限操作。 、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息 管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者 和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快 捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据, 这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一 长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学 技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人 类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理无 法比拟的优点。例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好 、寿命长、成本低等。这些优点能够极大地提高学校信息管理的效率,也是一个单位科 学化、正规化管理,与世界接轨的重要条件。 本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流 程设计完成的。通过一个简化的学生信息管理系统,使学生信息管理工作系统化、规范 化、自动化,从而达到提高学生信息管理效率的目的。 二、分析与设计 1、功能模块划分 图1 功能模块划分图 2、数据库结构描述 、数据库E-R模型 图2 登录用户管理E-R图 图3 实体学生E-R图 、数据库关系模型——二维表 表1 学生表(student) "字段 "数据类型 "说明 " "stuId "nvarchar(30) "学号 " "stuName "nvarchar(30) "姓名 " "stuSex "nvarchar(30) "性别 " "stuAge "int "年龄 " "stuJg "nvarchar(30) "籍贯 " "stuZy "nvarchar(30) "专业 " "classId "nvarchar(30) "班号 " "stuSourse "numeric(5,2) "总学分 " 图4 录入数据后的学生表 表2 登陆权限表(login) "字段 "数据类型 "说明 " "userId "nvarchar(30) "用户名(账号),即登 " " " "陆Id " "password "nvarchar(30) "登陆密码 " "position "nvarchar(30) "职位,如班委,普通学 " " " "生 " 图5 录入数据后的登陆权限表 3、系统详细设计文档 、系统执行流程图 图6 系统执行流程图 、类的划分 表3 学生信息查询类 "类名 "类的成员属性与方法 "说明 " " "JPanel jp1 "定义一个面板 " " "JLabel jp1_jl1 "定义两个标签 " " "JTextField jp1_jtf1 "定义一个文本输入框 " " "JButton "定义三个按钮 " " "jp1_jb1,jp1_jb2,jp1_jb3 " " " "JTable jtb "定义一个表 " " "JScrollPane jsp "定义一个滚动面板,用于存" " " "放表 " " "TableModel tm "自定义一个表模型,用于更" " " "新表数据 " " "public StuQuery(Frame "构造方法,通过传递三个参" " "Main,String title ,boolean "数,实现对话 " " "model) " " " "
学生选课管理系统 --意义-- 学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管 理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷 的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式 存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据, 这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深 刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对选课信息进行管理,有着手工管理 所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、 存储量大、保密性好、 寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是企业的 科学化、正规化管理,与世界接轨的重要条件。 --课题的可行性分析-- (1) 技术可行性-----本系统仅需要一台装有 Windows/Linux 系统并装有 Mysql数据库和Tomcat服务器的计算机即可,对机器本身没有太高的要求,一般当前学校或个人电脑完全可满足要求。对于软件技术要求,现在的JAVA程序设计语言已非常成熟,本系统采用基于B/S 架构的JavaEE的WEB开发,页面采用CSS样式,Jsp,Javascript等页面技术。 (2) 经济可行性-----由于本系统是一个基于JavaEE的WEB应用,所以服务器端只需部署一台能运行JAVA程序的服务器软件(Tomcat),即可使用本系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力,物力。所带来的效益远远大于系统软件的开发成本。在经济上完全可行。 (3) 操作可行性-----界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、规范、可靠;统计准确;适应力强;容易扩充。 --使用功能模块说明-- (1)登录模块 通过列表框可以分别选择学生、教师和管理员三种用户类型,根据不同的用户类型,登录后会进入不同的管理模块 (2)系统管理员模块 ● 选课时间设置 系统管理员通过此项功能设置选课时间段—预选时间段和补选时间段,只有在选课时间段里,学生才可以选择课程,不在此时间段,学生不能进行选课操作。 ● 选修课程管理 管理员可以进行添加新的选修课、删除选修课、修改选修课和查找选修课等操作 添加新的选修课 在选课之前,管理员可以添加新的选修课,让学生在选课期间进行选修 删除选修课 在选课之前,管理员可以取消某门选修课 修改选修课 在选课之前,管理员可以修改某门选修课的信息 查找选修课 可以根据教师的员工号精确查找该教师所代选修课,也可以根据教师名称和课程名模糊查询选修课,不输入查询条件可以查询所有选修课。针对查询出的某门选修课,可以查看代课老师的信息和选修该课程的所有学生信息。在查看学生信息页面可以修改学生的课程成绩 ● 密码管理 可以对学生、教师和管理员的密码进行修改,通过单选框确定要修改密码的用户类型 (3)教师模块 ● 查看所代课程 教师用户登陆系统后,可以查看所代课程的列表,可以查看某门课程的全体学生的信息并能录入学生的成绩,成绩可分批录入,录入后可显示提交按钮,进行学生成绩的提交,提交之前必须确认填写的学生成绩无误,否则提交之后教师就无法修改学生的成绩,必须通过管理员进行修改学生的成绩 ● 修改密码 教师可以修改自己的密码 (4)学生选课模块 ● 选择选修课程 学生登陆系统后,在所有选修课程中可以选择两门选修课。只有在选课时间段内才可以使用该功能。在预选阶段,该功能完成选修课程的预选,学生可以选择所有选修课程,预选结束之后,系统开始正选。对超过XX课程计划招生人数的课程,系统自动进行抽签,确定哪些学生选课成功,哪些学生选课没有成功。选课不成功的可以进行补选。在补选阶段,该功能完成选修课程的补选,补选采用竞争机制,系统会罗列出所有未满的课程,让学生进行补选。 ● 查看学分 本功能完成学生对以前选修课程的成绩和所获学分的查看 ● 修改密码 学生可以修改自己的密码 ● 查看已选课程 选课开始之后,学生可以通过查看已选课程,了解本学期所选的选修课的信息

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值