IDEA+Java+Servlet+JSP+Mysql实现学生信息管理系统

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: IDEA+Java+Servlet+JSP+Mysql实现学生信息管理系统

一、系统介绍


1.开发环境


开发工具:IDEA2018.2


JDK版本:jdk1.8


Mysql版本:8.0.13



2.技术选型


后端使用Java+Servlet进行开发,前端为Jsp,数据库为Mysql。


3.系统功能


1. 登录系统


2.查询学生信息


3.新增学生信息


4.修改学生信息


5.删除学生信息


4.数据库

/*
 Navicat Premium Data Transfer
 Source Server         : Mysql
 Source Server Type    : MySQL
 Source Server Version : 80013
 Source Host           : localhost:3306
 Source Schema         : jsp_servlet_studentinfo
 Target Server Type    : MySQL
 Target Server Version : 80013
 File Encoding         : 65001
 Date: 16/07/2021 21:24:47
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for account
-- ----------------------------
DROP TABLE IF EXISTS `account`;
CREATE TABLE `account`  (
  `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `nickname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of account
-- ----------------------------
INSERT INTO `account` VALUES ('admin', 'admin', '管理员');
-- ----------------------------
-- Table structure for stuinfo
-- ----------------------------
DROP TABLE IF EXISTS `stuinfo`;
CREATE TABLE `stuinfo`  (
  `Id` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `Name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `Age` int(5) NOT NULL,
  `Dep` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `Sex` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `Phone` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `Email` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  PRIMARY KEY (`Id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of stuinfo
-- ----------------------------
INSERT INTO `stuinfo` VALUES ('105001', '黄晋江', 35, '数计院', '男', '18050193364', '48577342@qq.com');
INSERT INTO `stuinfo` VALUES ('105002', '叶小白', 21, '数计院', '男', '18056789321', '4793247@qq.com');
INSERT INTO `stuinfo` VALUES ('105003', '林幼玲', 19, '医学院', '女', '15745492821', '4488742@qq.com');
INSERT INTO `stuinfo` VALUES ('105004', '白凌琳', 20, '文学院', '女', '180437289678', '75834538@qq.com');
INSERT INTO `stuinfo` VALUES ('105005', '廖江土', 22, '数计院', '男', '18050400657', '73476432@qq.com');
INSERT INTO `stuinfo` VALUES ('105009', '黄晋江', 77, '数计院', '男', '18050193364', '48577342111@qq.com');
SET FOREIGN_KEY_CHECKS = 1;


二、系统展示


1.登录页面


20210716212640360.jpg


2.主页面


20210716212647783.jpg


3.查询学生信息


20210716212654882.jpg


4.添加学生信息


20210716212701917.jpg


5.修改学生信息


20210716212708760.jpg


三、部分代码


StudentDao

package cn.fjnu.edu.dao;
import cn.fjnu.edu.model.Student;
import java.util.List;
public interface StudentDao {
    public boolean Create(Student student) throws Exception;
    public boolean Update(Student student) throws Exception;
    public boolean Delete(Student student) throws Exception;
    public boolean findLogin(Student student) throws Exception;
    List<Student> findAll(String keyWord) throws Exception;
}

StuDaoImpl

package cn.fjnu.edu.daoimpl;
import cn.fjnu.edu.dao.StudentDao;
import cn.fjnu.edu.model.Student;
import cn.fjnu.edu.util.DBUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
public class StuDaoImpl implements StudentDao {
    final String strCreate = "insert into stuinfo values(?,?,?,?,?,?,?)";
    final String strDelete = "delete from stuinfo where 1=1";
    final String strUpdate = "update stuinfo set";
    final String strFind = "select * from stuinfo where Name like ? or Dep like ? or Id like ? or Age like ? or Sex like ? or Phone like ? or Email like ?";
    final String strLogin = "select Name from stuinfo where id=? and Phone=?";
    @Override
    public boolean Create(Student student) throws Exception {
        DBUtil msh = new DBUtil();
        Connection conn = msh.getConnection();
        PreparedStatement pstmt = conn.prepareStatement(strCreate);
        pstmt.setString(1, student.getId());
        pstmt.setString(2, student.getName());
        pstmt.setInt(3, student.getAge());
        pstmt.setString(4, student.getDep());
        pstmt.setString(5, student.getSex());
        pstmt.setString(6, student.getPhone());
        pstmt.setString(7, student.getEmail());
        int i = pstmt.executeUpdate();
        pstmt.close();
        if (i > 0)
            return true;
        else
            return false;
    }
    @Override
    public boolean Update(Student student) throws Exception {
        DBUtil msh = new DBUtil();
        Connection conn = msh.getConnection();
        Statement stmt = conn.createStatement();
        String str = strUpdate;
        if (!(student.getName().equals(null))) {
            str += " Name='" + student.getName() + "' ";
        }
        if (!(student.getDep().equals(null)))
            str += ",Dep='" + student.getDep() + "'";
        if (!(student.getSex().equals(null)))
            str += ",Sex='" + student.getSex() + "'";
        if (!(student.getPhone().equals(null)))
            str += ",Phone='" + student.getPhone() + "'";
        if (!(student.getEmail().equals(null)))
            str += ",Email='" + student.getEmail() + "'";
        if (student.getAge() != 0) {
            str += ",Age=" + student.getAge() + "";
        }
        str += " where Id=" + student.getId() + ";";
        System.out.println(str);
        int i = stmt.executeUpdate(str);
        stmt.close();
        msh.closeConnection(conn);
        if (i > 0)
            return true;
        else {
            System.out.println(i + "  errorD");
            return false;
        }
    }
    @Override
    public boolean Delete(Student student) throws Exception {
        DBUtil msh = new DBUtil();
        Connection conn = msh.getConnection();
        Statement stmt = conn.createStatement();
        String str = strDelete;
        if (!("".equals(student.getId())))
            str += " and Id=" + student.getId();
        int i = stmt.executeUpdate(str);
        stmt.close();
        msh.closeConnection(conn);
        if (i > 0)
            return true;
        else
            return false;
    }
    @Override
    public boolean findLogin(Student student) throws Exception {
        DBUtil msh = new DBUtil();
        Connection conn = msh.getConnection();
        PreparedStatement pstmt = conn.prepareStatement(strCreate);
        boolean flag = false;
        try {
            pstmt = conn.prepareStatement(strLogin);
            pstmt.setString(1, student.getId());
            pstmt.setString(2, student.getPhone());
            ResultSet rs = pstmt.executeQuery();
            if (rs.next()) {
                student.setName(rs.getString(1));
                flag = true;
            }
        } catch (Exception e) {
            throw e;
        } finally {
            if (pstmt != null) {
                try {
                    pstmt.close();
                } catch (Exception e) {
                    throw e;
                }
            }
        }
        return flag;
    }
    @Override
    public List<Student> findAll(String keyWord) throws Exception {
        List<Student> all = new ArrayList<Student>();
        DBUtil msh = new DBUtil();
        Connection conn = msh.getConnection();
        PreparedStatement pstmt = conn.prepareStatement(strFind);
        pstmt.setString(1, "%" + keyWord + "%");
        pstmt.setString(2, "%" + keyWord + "%");
        pstmt.setString(3, "%" + keyWord + "%");
        pstmt.setString(4, "%" + keyWord + "%");
        pstmt.setString(5, "%" + keyWord + "%");
        pstmt.setString(6, keyWord);
        pstmt.setString(7, keyWord);
        ResultSet rs = pstmt.executeQuery();
        Student people = null;
        while (rs.next()) {
            people = new Student();
            people.setId(rs.getString(1));
            people.setName(rs.getString(2));
            people.setAge(rs.getInt(3));
            people.setDep(rs.getString(4));
            people.setSex(rs.getString(5));
            people.setPhone(rs.getString(6));
            people.setEmail(rs.getString(7));
            all.add(people);
        }
        pstmt.close();
        msh.closeConnection(conn);
        return all;
    }
}

StudentService

package cn.fjnu.edu.service;
import cn.fjnu.edu.model.Student;
import java.util.List;
public interface StudentService {
    public boolean Create(Student student) throws Exception;
    public boolean Update(Student student) throws Exception;
    public boolean Delete(Student student) throws Exception;
    public boolean findLogin(Student student) throws Exception;
    List<Student> findAll(String keyWord) throws Exception;
}

StudentServiceImpl

package cn.fjnu.edu.serviceimpl;
import cn.fjnu.edu.daoimpl.StuDaoImpl;
import cn.fjnu.edu.model.Student;
import cn.fjnu.edu.service.StudentService;
import java.util.List;
public class StudentServiceImpl implements StudentService {
    @Override
    public boolean Create(Student student) throws Exception {
        StuDaoImpl sdi = new StuDaoImpl();
        return sdi.Create(student);
    }
    @Override
    public boolean Update(Student student) throws Exception {
        StuDaoImpl sdi = new StuDaoImpl();
        boolean s = sdi.Update(student);
        return s;
    }
    @Override
    public boolean Delete(Student student) throws Exception {
        StuDaoImpl sdi = new StuDaoImpl();
        return sdi.Delete(student);
    }
    @Override
    public List<Student> findAll(String keyWord) throws Exception {
        StuDaoImpl sdi = new StuDaoImpl();
        List<Student> all = null;
        all = sdi.findAll(keyWord);
        return all;
    }
    @Override
    public boolean findLogin(Student student) throws Exception {
        StuDaoImpl sdi = new StuDaoImpl();
        return sdi.findLogin(student);
    }
}


四、其他


1.其他系统实现


1.JavaWeb系统系列实现


Java+JSP实现学生图书管理系统


Java+JSP实现学生信息管理系统


Java+JSP实现用户信息管理系统


Java+Servlet+JSP实现航空订票系统


Java+Servlet+JSP实现学生选课管理系统


Java+Servlet+JSP实现学生成绩管理系统-1


Java+Servlet+JSP实现学生成绩管理系统-2


Java+Servlet+JSP实现宠物诊所管理系统


Java+SSM+Easyui实现网上考试系统


Java+SSH+Bootstrap实现在线考试系统(含论文)


Java+Springboot+Mybatis+Bootstrap+Maven实现网上商城系统


2.JavaSwing系统系列实现


Java+Swing实现斗地主游戏


Java+Swing实现图书管理系统


Java+Swing实现医院管理系统


Java+Swing实现仓库管理系统-1


Java+Swing实现仓库管理系统-2


Java+Swing实现考试管理系统


Java+Swing实现自助取款机系统


Java+Swing实现通讯录管理系统


Java+Swing实现停车场管理系统


Java+Swing实现学生信息管理系统


Java+Swing实现学生宿舍管理系统


Java+Swing实现学生选课管理系统


Java+Swing实现学生成绩管理系统


Java+Swing实现学校教材管理系统


Java+Swing实现学校教务管理系统


Java+Swing实现企业人事管理系统


Java+Swing实现电子相册管理系统


Java+Swing实现超市管理系统-TXT存储数据


Java+Swing实现自助取款机系统-TXT存储数据


Java+Swing实现宠物商店管理系统-TXT存储数据



相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
11天前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
72 26
|
15天前
|
JavaScript 安全 Java
java版药品不良反应智能监测系统源码,采用SpringBoot、Vue、MySQL技术开发
基于B/S架构,采用Java、SpringBoot、Vue、MySQL等技术自主研发的ADR智能监测系统,适用于三甲医院,支持二次开发。该系统能自动监测全院患者药物不良反应,通过移动端和PC端实时反馈,提升用药安全。系统涵盖规则管理、监测报告、系统管理三大模块,确保精准、高效地处理ADR事件。
|
25天前
|
关系型数据库 MySQL Java
MySQL索引优化与Java应用实践
【11月更文挑战第25天】在大数据量和高并发的业务场景下,MySQL数据库的索引优化是提升查询性能的关键。本文将深入探讨MySQL索引的多种类型、优化策略及其在Java应用中的实践,通过历史背景、业务场景、底层原理的介绍,并结合Java示例代码,帮助Java架构师更好地理解并应用这些技术。
25 2
|
1月前
|
监控 前端开发 Java
【技术开发】接口管理平台要用什么技术栈?推荐:Java+Vue3+Docker+MySQL
该文档介绍了基于Java后端和Vue3前端构建的管理系统的技术栈及功能模块,涵盖管理后台的访问、登录、首页概览、API接口管理、接口权限设置、接口监控、计费管理、账号管理、应用管理、数据库配置、站点配置及管理员个人设置等内容,并提供了访问地址及操作指南。
|
应用服务中间件
IDEA创建Servlet项目(7)
IDEA创建Servlet项目(7)
111 0
IDEA创建Servlet项目(7)
|
应用服务中间件
IDEA创建Servlet项目(6)
IDEA创建Servlet项目(6)
119 0
IDEA创建Servlet项目(6)
IDEA创建Servlet项目(5)
IDEA创建Servlet项目(5)
177 0
IDEA创建Servlet项目(5)
IDEA创建Servlet项目(4)
IDEA创建Servlet项目(4)
107 0
IDEA创建Servlet项目(4)
IDEA创建Servlet项目(3)
IDEA创建Servlet项目(3)
119 0
IDEA创建Servlet项目(3)
IDEA创建Servlet项目(2)
IDEA创建Servlet项目(2)
105 0
IDEA创建Servlet项目(2)
下一篇
DataWorks