学生信息管理系统

一、课程设计题目
《学生信息管理系统》
二、项目背景
21世纪以来,随着信息技术在全球范围内的兴起,以及互联网的迅速发展,使计算机渗透到社会发展的各个领域和各个层次。由于我国高校的进一步扩招和对高校信息管理的进一步提高,原先的一些学生信息管理系统的局限性已经显现出来了。在这样的背景下,为了加快校园的信息化建设,实现高校办公自动化也就越来越重要了。学校学生信息多且难以维护,平时学生管理数据,期末学生考试数据等, 大量学生的数据以及复杂的业务 使教职工的工作繁忙且效率低下,因此,传统的办公模式需要改进,利用互联网程序实现办公自动化是大势所趋。随着高校规模的不断扩大,港澳台学生、华侨学生、外国留学生、少数民族学生数量也急剧增加,有关学生的各种信息量也成倍增长,各类学生的统计分析工作也越来越困难,面对如此繁杂的工作,为了能够为高校学生信息管理提供一种更加高效实用的管理手段,为学生信息的存储、计算、统计、分析、交流提供一种更加安全快捷的信息平台,并且能够减少大量的人工操作,以及在人工操作中由于人为因素而引起的数据错误,保证学生信息数据的安全性和完整性,使学生管理人员能够轻松,正确无误地完成各项工作,为学生管理工作服务。

三、需求分析
班级管理:大学每个年级每个班级
数据维护:为数据提供安全性保障
逻辑功能分析:在输入账号密码登录后,可在学生信息管理页面进行进行基本的查询,添加,删除功能
学生管理: 学生年级 学生专业 班级 等
个人信息逻辑功能分析:在学生信息界面,可进行查询,添加,删除功能
学生信息:记录在学校中学生的基本信息,包括姓名,学号,出生年月,所属院系,所在班级,联系方式等
系统的开放性和可扩充性:在学生信息系统开发过程中,应该充分考虑以后的可扩充性。比如数据在某个时间段的数据输入拥堵。或者数据多的时候,应该确保系统有足够的空间留给数据的输入和存储
系统的易用性和易维护性:学生信息系统针对的大部分是学生,因此系统应该更加简单,便捷。界面应该更加的简单易懂。同时在维护数据的时候应该更加的方便。
安全性要求:因为学生信息管理系统关系到学生的基本信息,所以要有严格的安全性要求。

四、所用技术
前台:html css js jquery easyui
后台:mysql Jdk1.8 SQLyog Maven
数据库:mysql

五、实现步骤
前台:编写代码,利用html css js 对页面进行设计,录入页面的基本信息,jquery实现学生信息的表单添加删除修改查询,用easyui搭建后台管理界面
<%@ page language=“java” contentType=“text/html; charset=utf-8”
pageEncoding=“utf-8”%>

学生信息管理界面
  <th field="cid" width="100" align="center" hidden="true">班级ID</th>
  <th field="cname" width="100" align="center">班级名称</th>
  <th field="email" width="150" align="center">Email</th>
  <th field="stuDesc" width="250" align="center">学生备注</th>
编号学号姓名性别
 学号:   姓名: 
  <a href="javascript:searchStudent()" class="easyui-linkbutton" iconCls="icon-search" plain="true">搜索</a></div>
学号:     姓名:
性别: 请选择... 男 女 出生日期:
班级名称:Email:
学生备注:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" %> <% if(session.getAttribute("currentUser")==null){ response.sendRedirect("index.jsp"); return; } %> 学生信息管理主界面
当前用户:  ${currentUser.username }        退出登录
    版权所有
    后台:在jdk1.8的环境中,在mysql数据库中用SQLyog编写所连接的表,导入Maven
    

    package com.glls.util;

    import java.sql.*;

    public class JdbcUtil {

    private static String driverName="com.mysql.jdbc.Driver"; // 1.你要连接的是什么数据库?
    private static String url="jdbc:mysql://localhost:3306/hnlg?characterEncoding=UTF-8";  // 你连接的这个数据库在哪里?
    private static String userName="";
    private static String password="";
    
    static Connection con;
    
    // 获取连接
    public static Connection getCon(){
        try {
            Class.forName(driverName);
            con = DriverManager.getConnection(url,userName,password);
            return con;
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    }
    
    
    /**
     * 封装 查询的操作
     *
     * con   表示  java 程序 与 数据库的连接对象
     * sql 要执行的sql 语句
     * params 可变参数  往sql 语句中 注入的 参数   不确定个数  不确定类型    把他当成一个数组来看待
     * */
    
    public static ResultSet executeQuery(Connection con,String sql,Object ...params){
        try {
            PreparedStatement pstmt = con.prepareStatement(sql);
            if(params.length>0){
                for(int i=0;i<params.length;i++){
                    pstmt.setObject((i+1),params[i]);
                }
            }
    
            return pstmt.executeQuery();
    
        } catch (SQLException e) {
            e.printStackTrace();
        }
    
        return null;
    }
    
    /**
     * 封装 增删改 的操作
     *
     * */
    
    public static int executeUpdate(Connection con,String sql,Object ...params){
        try {
            PreparedStatement pstmt = con.prepareStatement(sql);     //  alt + shift + l 快速抽取变量
            if(params.length>0){
                for(int i=0;i<params.length;i++){
                    pstmt.setObject((i+1),params[i]);
                }
            }
    
            return pstmt.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    
        return 0;
    }
    
    // 关闭连接
    public static void closeCon(Connection con){
        try {
            if(con!=null){
    
                con.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    

    }

    数据库:在jdbc中连接数据库中的表
    

    package com.glls.jdbcdemo;

    import org.junit.Test;

    import java.sql.*;

    public class Demo1 {
    private static String driverName=“com.mysql.jdbc.Driver”;//1.你要连接的是什么数据库?
    private static String url=“jdbc:mysql://localhost:3306/hnlg?characterEncoding=UTF-8”; //你连接的这个数据库在哪里?
    private static String userName=“root”;
    private static String password=“123456”;

    public static void main(String[] args) throws ClassNotFoundException, SQLException {
    

    //1.加载驱动
    Class.forName(driverName);
    //2.获取链接
    Connection connection = DriverManager.getConnection(url, userName, password);
    //3.准备查询的sql
    String sql = “select * from t_user”;
    //4.准备发送sql的对象
    PreparedStatement preparedStatement = connection.prepareStatement(sql);

        //5.执行查询语句得到的结果集
        ResultSet resultSet = preparedStatement.executeQuery();
    
        //6.从结果集取数据
        while (resultSet.next()) {
            int id = resultSet.getInt("id");
            String username = resultSet.getString("username");
            String password = resultSet.getString("password");
    
            System.out.println(id);
            System.out.println(username);
            System.out.println(password);
    
        }
    
        //7.关闭连接
        connection.close();
    }
    
    @Test
    public void test1() throws ClassNotFoundException, SQLException {
        //1.加载驱动
        Class.forName(driverName);
    

    //2.获取链接
    Connection connection = DriverManager.getConnection(url, userName, password);
    //3.准备查询的sql
    String username = “zs”;
    String password = “zs”;
    String sql = “select * from t_user where username = ? and password = ?” ;
    //4.准备发送sql的对象
    PreparedStatement preparedStatement = connection.prepareStatement(sql);

        preparedStatement.setString(1,username);
        preparedStatement.setString(2,password);
    
        //5.执行查询语句得到的结果集
        ResultSet resultSet = preparedStatement.executeQuery();
    
        //6.从结果集取数据
        while (resultSet.next()) {
            int id1 = resultSet.getInt("id");
            String username1 = resultSet.getString("username");
            String password1 = resultSet.getString("password");
    
            System.out.println(id1);
            System.out.println(username1);
            System.out.println(password1);
    
            System.out.println(resultSet.getString("phone"));
            System.out.println(resultSet.getString("email"));
    
        }
    
        //7.关闭连接
        connection.close();
    }
    
    @Test
    public void test2() throws ClassNotFoundException, SQLException {
        //增加
        Class.forName(driverName);
        Connection connection = DriverManager.getConnection(url,userName,password);
    
        String sql="insert into t_user values (null,?,?,?,?)";
    
        PreparedStatement preparedStatement = connection.prepareStatement(sql);
    
        preparedStatement.setString(1,"李白");
        preparedStatement.setString(2,"libai");
        preparedStatement.setString(3,"123");
        preparedStatement.setString(4,"12345@163.com");
    
        int i = preparedStatement.executeUpdate(); //增删改    执行executeUpdate
        //这个方法的返回值 指的是 影响数据库的记录条数
        if (i==1){
            System.out.println("添加成功");
        }
    
    }
    @Test
    public void test3() throws ClassNotFoundException, SQLException {
        //删除
        Class.forName(driverName);
        Connection connection = DriverManager.getConnection(url,userName,password);
    
        String sql="delete from t_user where id = ?";
    
        PreparedStatement preparedStatement = connection.prepareStatement(sql);
    
        preparedStatement.setInt(1,2);
    
        int i = preparedStatement.executeUpdate(); //增删改    执行executeUpdate
        //这个方法的返回值 指的是 影响数据库的记录条数
        if (i==1){
            System.out.println("删除成功");
        }
    }
    @Test
    public void test4() throws ClassNotFoundException, SQLException {
        // 修改
    
        Class.forName(driverName);
        Connection connection = DriverManager.getConnection(url, userName, password);
    
        String sql="update t_user set username = ?,password = ?,phone = ?, email= ? where id = ? ";
    
        PreparedStatement preparedStatement = connection.prepareStatement(sql);
    
        preparedStatement.setString(1,"诸葛亮");
        preparedStatement.setString(2,"zhugeliang");
        preparedStatement.setString(3,"111");
        preparedStatement.setString(4,"xxx");
        preparedStatement.setInt(5,3);
    
    
        int i = preparedStatement.executeUpdate();   // 增删改    执行executeUpdate
        // 这个方法的返回值  指的是  影响数据库的记录条数
    
        if(i==1){
            System.out.println("更改成功");
        }
    }
    

    }

    六、项目展示
    在这里插入图片描述

    七、个人收获
    经过这段时间软件技术的学习,熟悉了软件开发的流程,也掌握了一些软件开发的方法,学到的很多以前没有了解到的知识,但由于接触时间比较短,会出现一些问题,但通过努力,不断地学习老师的视频,终于完成了整个项目,学到的知识都是很值得珍惜的。
    另外,通过对软件开发过程的了解与熟悉,了解到软件开发并不是一个很简单的过程,相反,软件开发是一个很繁琐,而且很严谨的过程,与我想象的并不一样,每一步都有它的作用。所以,在以后的学习和工作过程中,我需要学习和加强的东西还有很多,以后要不断的学习与进步。

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值