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

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 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存储数据



相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
7月前
|
SQL Java 关系型数据库
Java连接MySQL数据库环境设置指南
请注意,在实际部署时应该避免将敏感信息(如用户名和密码)硬编码在源码文件里面;应该使用配置文件或者环境变量等更为安全可靠地方式管理这些信息。此外,在处理大量数据时考虑使用PreparedStatement而不是Statement可以提高性能并防止SQL注入攻击;同时也要注意正确处理异常情况,并且确保所有打开过得资源都被正确关闭释放掉以防止内存泄漏等问题发生。
314 13
|
9月前
|
人工智能 Java 关系型数据库
Java的时间处理与Mysql的时间查询
本文总结了Java中时间与日历的常用操作,包括时间的转换、格式化、日期加减及比较,并介绍了MySQL中按天、周、月、季度和年进行时间范围查询的方法,适用于日常开发中的时间处理需求。
165 0
|
11月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
Java 应用服务中间件 API
Servlet开发流程 (里面有Idea项目添加Tomcat依赖详细教程)
本文详细介绍了Servlet的开发流程,包括在IntelliJ IDEA中添加Tomcat依赖的详细教程。通过上述步骤,开发者可以快速搭建并运行一个基本的Servlet应用,理解并掌握Servlet的开发流程对于Java Web开发至关重要。希望本文能够帮助开发者顺利进行Servlet开发,提高工作效率。
1536 78
|
存储 Java 关系型数据库
java调用mysql存储过程
在 Java 中调用 MySQL 存储过程主要借助 JDBC(Java Database Connectivity)。其核心原理是通过 JDBC 与 MySQL 建立连接,调用存储过程并处理结果。具体步骤包括:加载 JDBC 驱动、建立数据库连接、创建 CallableStatement 对象、设置存储过程参数并执行调用。此过程实现了 Java 程序与 MySQL 数据库的高效交互。
|
人工智能 JavaScript 关系型数据库
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
495 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
|
自然语言处理 Java 关系型数据库
Java mysql根据很长的富文本如何自动获取简介
通过使用Jsoup解析富文本并提取纯文本,然后根据需要生成简介,可以有效地处理和展示长文本内容。该方法简单高效,适用于各种应用场景。希望本文对您在Java中处理富文本并生成简介的需求提供实用的指导和帮助。
275 9
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
914 26
|
JavaScript 安全 Java
java版药品不良反应智能监测系统源码,采用SpringBoot、Vue、MySQL技术开发
基于B/S架构,采用Java、SpringBoot、Vue、MySQL等技术自主研发的ADR智能监测系统,适用于三甲医院,支持二次开发。该系统能自动监测全院患者药物不良反应,通过移动端和PC端实时反馈,提升用药安全。系统涵盖规则管理、监测报告、系统管理三大模块,确保精准、高效地处理ADR事件。
592 1
|
关系型数据库 MySQL Java
Servlet+MySQL增删改查 原文出自[易百教程] 转载请保留原文链接: https://www.yiibai.com/geek/1391
对于任何项目开发,创建,读取,更新和删除(CRUD)记录操作是应用程序的一个最重要部分。
364 20

推荐镜像

更多