IDEA+Java+JSP+Mysql+Tomcat Realization of Web Teacher Information Management System

content

1. System introduction

1. Development environment

2. Technical selection

3. System function

4. Database file

5. Project screenshot

2. System display

1. Log in to the system

2. Query teacher information

3. Add teacher information

4. Modify teacher information 

3. Part of the code

AdminDaoImpl

TeacherDaoImpl

main.jsp

teacher-add.jsp

teacher-delete.jsp

teacher-update.jsp

4. Other

1. More systems

Java+JSP system series implementation

 Java+Servlet system series implementation

Java+SSM system series implementation

Java+SSH system series implementation

Java+Springboot system series implementation

2. Source code download

3. Run the project

4. Remarks

5. Support Bloggers


1. System introduction

1. Development environment

Development tool: IDEA2018

JDK version: Jdk1.8

Mysql version: 8.0.13

2. Technical selection

Java+Jsp+Mysql

3. System function

1. The administrator logs in to the system;

2. The administrator inquires about teacher information;

3. The administrator adds teacher information;

4. The administrator can modify the teacher information;

5. The administrator deletes the teacher information;

4. Database file

/*
 Navicat Premium Data Transfer

 Source Server         : MYSQL
 Source Server Type    : MySQL
 Source Server Version : 80013
 Source Host           : localhost:3306
 Source Schema         : jsp_teacher_management

 Target Server Type    : MySQL
 Target Server Version : 80013
 File Encoding         : 65001

 Date: 14/01/2022 15:36:09
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for admin
-- ----------------------------
DROP TABLE IF EXISTS `admin`;
CREATE TABLE `admin`  (
  `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Records of admin
-- ----------------------------
INSERT INTO `admin` VALUES ('admin', 'admin');

-- ----------------------------
-- Table structure for teacher
-- ----------------------------
DROP TABLE IF EXISTS `teacher`;
CREATE TABLE `teacher`  (
  `id` int(11) NOT NULL,
  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `sex` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `subject` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `salary` double NULL DEFAULT NULL,
  `workTime` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1004 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Records of teacher
-- ----------------------------
INSERT INTO `teacher` VALUES (1001, '王老师', '男', '语文', 30000, '2022-01-01');
INSERT INTO `teacher` VALUES (1002, '张老师', '女', '英语', 30000, '2022-01-01');
INSERT INTO `teacher` VALUES (1003, '黄老师', '男', '数学', 30000, '2022-01-14');
INSERT INTO `teacher` VALUES (1004, '杨老师', '女', '英语', 30000, '2022-01-14');
INSERT INTO `teacher` VALUES (1005, '吴老师', '女', '音乐', 30000, '2022-01-14');

SET FOREIGN_KEY_CHECKS = 1;

5. Project screenshot

2. System display

1. Log in to the system

2. Query teacher information

3. Add teacher information

4. Modify teacher information 

3. Part of the code

AdminDaoImpl

package com.sjsq.dao.impl;

import com.sjsq.dao.AdminDao;
import com.sjsq.utils.DBUtil;
import com.sjsq.vo.Admin;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * @author: shuijianshiqing
 * @date: 2021-12-31
 * @description: 登录系统实现
 */
public class AdminDaoImpl implements AdminDao {

    /**
     * 登录系统
     * @param admin
     * @return
     */
    @Override
    public Admin login(Admin admin) {
        Connection con = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        try {
            // 1.获取数据库连接
            con = DBUtil.getConnection();
            // 2.写sql
            String sql = "select * from admin where username = ? and password = ?";
            // 3.预编译
            ps = con.prepareStatement(sql);
            // 4.设置值
            ps.setObject(1, admin.getUsername());
            ps.setObject(2, admin.getPassword());
            rs = ps.executeQuery();
            Admin adminLogin = null;
            if (rs.next()) {
                adminLogin = new Admin();
                // 从数据库中获取值到实体类的setter方法中
                adminLogin.setUsername(rs.getString("username"));
                adminLogin.setPassword(rs.getString("password"));

                // 返回的是你查询出来的完整的对象
                return adminLogin;

            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            // 关闭资源,避免出现异常
            DBUtil.close(con, ps, rs);
        }
        return null;
    }

}


TeacherDaoImpl

package com.sjsq.dao.impl;

import com.sjsq.dao.TeacherDao;
import com.sjsq.utils.DBUtil;
import com.sjsq.vo.Teacher;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

/**
 * @author: shuijianshiqing
 * @date: 2021-12-31
 * @description:
 */
public class TeacherDaoImpl implements TeacherDao {

    /**
     * 查询教师信息
     * @param sql
     * @param arr
     * @return
     */
    @Override
    public List<Teacher> selectAll(String sql, Object[] arr) {
        Connection con = null;
        PreparedStatement ps = null;
        ResultSet rs = null;

        try {
            // 1.连接数据库
            con = DBUtil.getConnection();
            // 2.预编译
            ps = con.prepareStatement(sql);
            if (arr != null) {
                for (int i = 0; i < arr.length; i++) {
                    // 传入sql的参数,向上转型,某个栏位的查询
                    ps.setObject(i + 1, arr[i]);
                }
            }
            // 3.执行sql
            rs = ps.executeQuery();
            // 4.保存查询出来的数据到list
            List<Teacher> list = new ArrayList<>();
            while (rs.next()) {

                Teacher teacher = new Teacher();

                teacher.setId(rs.getInt("id"));
                teacher.setName(rs.getString("name"));
                teacher.setSex(rs.getString("sex"));
                teacher.setSubject(rs.getString("subject"));
                teacher.setSalary(rs.getDouble("salary"));
                teacher.setWorkTime(rs.getString("workTime"));

                list.add(teacher);
            }
            return list;

        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 关闭链接,避免数据库连接过多
            DBUtil.close(con, ps, rs);
        }
        return null;
    }

    /**
     * 根据教职工号查询教师信息
     * @param id
     * @return
     */
    @Override
    public Teacher selectTeacher(Integer id) {
        Connection con = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        try {
            // 1.连接数据库
            con = DBUtil.getConnection();
            // 2.预编译
            String sql = "select * from Teacher where id = ?";
            ps = con.prepareStatement(sql);
            ps.setInt(1,id);
            // 3.执行sql
            rs = ps.executeQuery();
            while (rs.next()){
                Teacher teacher = new Teacher();

                teacher.setId(rs.getInt("id"));
                teacher.setName(rs.getString("name"));
                teacher.setSex(rs.getString("sex"));
                teacher.setSubject(rs.getString("subject"));
                teacher.setSalary(rs.getDouble("salary"));
                teacher.setWorkTime(rs.getString("workTime"));

                return teacher;
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            // 关闭资源,避免出现异常
            DBUtil.close(con,ps,rs);
        }
        return null;
    }

    /**
     * 新增教师信息
     * @param teacher
     * @return
     */
    @Override
    public boolean addTeacher(Teacher teacher) {
        String sql = "insert into teacher values (?,?,?,?,?,?)";
        List<Object> list = new ArrayList<Object>();

        list.add(teacher.getId());
        list.add(teacher.getName());
        list.add(teacher.getSex());
        list.add(teacher.getSubject());
        list.add(teacher.getSalary());
        list.add(teacher.getWorkTime());

        boolean flag = DBUtil.addUpdateDelete(sql,list.toArray());
        if(flag){
            return true;
        }else {
            return false;
        }
    }

    /**
     * 更新教师信息
     * @param teacher
     * @return
     */
    @Override
    public boolean updateTeacher(Teacher teacher) {
        String sql = "update teacher set name=?,sex=?,subject=?,salary=?,workTime=? where id=?";
        List<Object> list = new ArrayList<Object>();


        list.add(teacher.getName());
        list.add(teacher.getSex());
        list.add(teacher.getSubject());
        list.add(teacher.getSalary());
        list.add(teacher.getWorkTime());
        // 注意id在最后面
        list.add(teacher.getId());

        boolean flag = DBUtil.addUpdateDelete(sql,list.toArray());
        if(flag){
            return true;
        }else {
            return false;
        }
    }


    /**
     * 删除教师信息
     * @param id
     * @return
     */
    @Override
    public boolean deleteTeacher(Integer id) {
        String sql = "delete from teacher where id=?";
        List<Object> list = new ArrayList<Object>();

        list.add(id);

        boolean flag = DBUtil.addUpdateDelete(sql,list.toArray());
        if(flag){
            return true;
        }else {
            return false;
        }
    }
}


main.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>
<%@ page import="com.sjsq.service.TeacherService" %>
<%@ page import="com.sjsq.service.impl.TeacherServiceImpl" %>
<%@ page import="com.sjsq.vo.Teacher" %>
<%@ page import="java.util.List" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>查看教师</title>
    <link rel="stylesheet" type="text/css" href="css/common.css">
    <link rel="stylesheet" type="text/css" href="css/main.css">
    <style type="text/css">


    </style>
</head>
<body>
<%-- 头部 --%>
<jsp:include page="top.jsp"/>
<%
    // 设置获取注册时的编码为UTF-8
    request.setCharacterEncoding("UTF-8");

    TeacherService studentService = new TeacherServiceImpl();
    // 定义一个学生类
    Teacher teacher = new Teacher();

    // 获取上一个页面传过来的值
    if (request.getParameter("id") != null && request.getParameter("id") != "") {
        Integer id = Integer.parseInt(request.getParameter("id"));
        teacher.setId(id);
    }

    // 获取所有教师
    List<Teacher> list = studentService.selectAll(teacher);
%>
<h1>教师列表</h1>
<hr/>
<div id="before">
    <form action="main.jsp" method="post">
        请输入教职工号:<input type="text" name="id" placeholder="输入教职工号搜索">
        <input type="submit" value="查询"/>
    </form>
</div>
<br>
<table align="center" border="1" cellspacing="0">
    <tr bgcolor="#6495ed";>
        <th>教职工号</th>
        <th>教师姓名</th>
        <th>教师性别</th>
        <th>教学科目</th>
        <th>教师工资</th>
        <th>入职时间</th>
        <th colspan="2">操作</th>
    </tr>
    <%
        for (int i = 0; i < list.size(); i++) {
            Teacher t = list.get(i);
    %>
    <tr id="content">
        <td><%=t.getId()%>
        </td>
        <td><%=t.getName()%>
        </td>
        <td><%=t.getSex()%>
        </td>
        <td><%=t.getSubject()%>
        </td>
        <td><%=t.getSalary()%>
        </td>
        <td><%=t.getWorkTime()%>
        </td>
        <td>
            <a href="teacher-update.jsp?id=<%=t.getId()%>">修改</a>
            <a href="teacher-delete.jsp?id=<%=t.getId()%>">删除</a>
        </td>
    </tr>
    <%
        }
    %>
</table>

<br>
<table align="center">
    <tr>
        <td><a href="teacher-add.jsp">新增教师</a></td>
    </tr>
</table>

</body>
<%-- 底部 --%>
<jsp:include page="bottom.jsp"/>
</html>


teacher-add.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>新增教师</title>
    <link rel="stylesheet" type="text/css" href="css/common.css">
</head>
<body>
<%-- 头部 --%>
<jsp:include page="top.jsp"/>

<h1>新增教师</h1>
<hr/>

<div id="before">
    <a href="javascript: window.history.go(-1)">返回上一级</a>
</div>
</br>

<form action="teacher-add-do.jsp" method="post" name="addForm">
    <div>
        <tr>
            <label>教职工号:</label>
            <input type="text" name="id" id="id" placeholder="请输入教职工号">
        </tr>
    </div>
    <div>
        <tr>
            <label>教师姓名:</label>
            <input type="text" name="name" id="name" placeholder="请输入教师姓名">
        </tr>
    </div>
    <div>
        <tr>
            <label>教师性别:</label>
            <input type="text" name="sex" id="sex" placeholder="请输入教师性别">
        </tr>
    </div>
    <div>
        <tr>
            <label>教学科目:</label>
            <input type="text" name="subject" id="subject" placeholder="请输入教学科目">
        </tr>
    </div>
    <div>
        <tr>
            <label>教师工资:</label>
            <input type="text" name="salary" id="salary" placeholder="请输入教师工资">
        </tr>

    </div>
    <div>
        <tr>
            <label>工作时间:</label>
            <input type="text" name="workTime" id="workTime" placeholder="请输入工作时间">
        </tr>

    </div>

    <br>
    <div id="submit">
        <tr>
            <button type="submit" onclick="return checkForm()">添加</button>
            <button type="reset">重置</button>

        </tr>
    </div>
</form>

<script type="text/javascript">
    function checkForm() {
        var id = addForm.id.value;
        var name = addForm.name.value;
        var salary = addForm.salary.value;

        // 教职工号和姓名不能为空
        if (id == "" || id == null) {
            alert("请输入教职工号");
            addForm.id.focus();
            return false;
        } else if (name == "" || name == null) {
            alert("请输入教师姓名");
            addForm.name.focus();
            return false;
        }
        else if (salary == "" || salary == null) {
            alert("请输入教工资");
            addForm.salary.focus();
            return false;
        }
        return true;
    }
</script>

<%-- 底部 --%>
<jsp:include page="bottom.jsp"/>
</body>
</html>


teacher-delete.jsp

<%@ page import="com.sjsq.service.TeacherService" %>
<%@ page import="com.sjsq.service.impl.TeacherServiceImpl" %>
<%@ page import="com.sjsq.vo.Teacher" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>删除教师</title>
</head>
<body>
<%
    // 设置获取注册时的编码为UTF-8
    request.setCharacterEncoding("UTF-8");

    //获取main.jsp页面的id
    Integer id = Integer.parseInt(request.getParameter("id"));

    // 删除学生
    TeacherService TeacherService = new TeacherServiceImpl();
    Teacher teacher = new Teacher();
    teacher = TeacherService.selectTeacher(id);
    System.out.println("删除的教师信息");
    System.out.println(teacher);

    boolean flag = TeacherService.deleteTeacher(id);

    if (flag) {
        response.sendRedirect("main.jsp");
    } else {
        response.sendRedirect("error.jsp");
    }
%>
</body>
</html>


teacher-update.jsp

<%@ page import="com.sjsq.service.TeacherService" %>
<%@ page import="com.sjsq.service.impl.TeacherServiceImpl" %>
<%@ page import="com.sjsq.vo.Teacher" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>修改教师</title>
    <link rel="stylesheet" type="text/css" href="css/common.css">
</head>
<body>
<%-- 头部 --%>
<jsp:include page="top.jsp"/>

<h1>修改教师</h1>
<hr/>

<%
    //获取main.jsp页面的id
    Integer id = Integer.parseInt(request.getParameter("id"));
    TeacherService teacherService = new TeacherServiceImpl();
    Teacher teacher = teacherService.selectTeacher(id);
%>

<div>
    <a href="javascript: window.history.go(-1)">返回上一级</a>
</div>
</br>

<form action="teacher-update-do.jsp" method="post" id="addForm">

    <div>
        <%-- 这里教职工号不能修改 --%>
        <tr>
            <label>教职工号:</label>
            <input type="text" name="id" id="id" placeholder="请输入教职工号" value="<%=teacher.getId()%>" readonly="true">
        </tr>
    </div>
    <div>
        <tr>
            <label>教师姓名:</label>
            <input type="text" name="name" id="name" placeholder="请输入教师姓名" value="<%=teacher.getName()%>" autofocus="autofocus">
        </tr>
    </div>
    <div>
        <tr>
            <label>教师性别:</label>
            <input type="text" name="sex" id="sex" placeholder="请输入教师性别" value="<%=teacher.getSex()%>">
        </tr>
    </div>
    <div>
        <tr>
            <label>教学科目:</label>
            <input type="text" name="subject" id="subject" placeholder="请输入教学科目" value="<%=teacher.getSubject()%>">
        </tr>
    </div>
    <div>
        <tr>
            <label>教师工资:</label>
            <input type="text" name="salary" id="salary" placeholder="请输入教师工资" value="<%=teacher.getSalary()%>">
        </tr>

    </div>
    <div>
        <tr>
            <label>工作时间:</label>
            <input type="text" name="workTime" id="workTime" placeholder="请输入工作时间" value="<%=teacher.getWorkTime()%>">
        </tr>

    </div>

    <br>
    <div id="submit">
        <tr>
            <button type="submit" onclick="return checkForm()">修改</button>
            <button type="reset">重置</button>

        </tr>
    </div>
</form>



<script type="text/javascript">
    function checkForm() {
        var id = addForm.id.value;
        var name = addForm.name.value;

        // 教职工号和姓名不能为空
        if (id == "" || id == null) {
            alert("请输入教职工号");
            addForm.id.focus();
            return false;
        } else if (name == "" || name == null) {
            alert("请输入教师姓名");
            addForm.name.focus();
            return false;
        }
        return true;
    }
</script>

<%-- 底部 --%>
<jsp:include page="bottom.jsp"/>
</body>
</html>

4. Other

1. More systems

Java+JSP system series implementation

Java+JSP Realization of Student Book Management System

Java+JSP Realization of Student Information Management System

Java+JSP Realization of User Information Management System

 Java+Servlet system series implementation

Java+Servlet+JSP Realization of Airline Booking System

Java+Servlet+JSP Realization of News Release System

Java+Servlet+JSP Student Dormitory Management System

Java+Servlet+JSP Realization of Book Management System

Java+Servlet+JSP Realization of Parking Lot Management System

Java+Servlet+JSP Realization of Housing Rental Management System

Java+Servlet+JSP Realization of Student Information Management System

Java+Servlet+JSP to realize student course selection management system

Java+Servlet+JSPl realizes the student's course selection and sign-in system

Java+Servlet+JSP realizes pet clinic management system

Java+Servlet+JSP realizes student achievement management system-1

Java+Servlet+JSP realizes student achievement management system-2

Java+SSM system series implementation

Java+SSM+JSP to realize online examination system

Java+SSM+JSP to realize pet mall system

Java+SSM+JSP Realization of Supermarket Management System

Java+SSM+JSP realizes student achievement management system

Java+SSM+JSP Realization of Student Information Management System

Java+SSM+JSP+Maven to realize online bookstore system

Java+SSM+JSP+Maven to realize school education management system

Java+SSH system series implementation

Java+SSH+JSP Realization of Online Exam System

Java+SSH+JSP Realization of Hospital Online Registration System

Java+Springboot system series implementation

Java+Springboot+H-ui+Maven to realize marketing management system

Java+Springboot+Bootstrap+Maven to realize online mall system

Java+Springboot+Bootstrap+Maven realizes scenic tourism management system

1. For more JavaWeb systems, please pay attention to the column.

https://blog.csdn.net/helongqiang/category_10020130.htmlhttps://blog.csdn.net/helongqiang/category_10020130.html

2. For more JavaSwing systems, please pay attention to the column.

https://blog.csdn.net/helongqiang/category_6229101.htmlhttps://blog.csdn.net/helongqiang/category_6229101.html

2. Source code download

sql is under the sql folder

Java+JSP+Mysql Realization of Web Teacher Information Management System

3. Run the project

How IDEA Imports JavaWeb Project Super Detailed Video Tutorial

If you want to learn more about the implementation of the code, there is already a recorded video about it that might help you! The specific implementation methods are similar, but the entity classes are somewhat different!

Video portal is below

Teach you how to implement Web book management system video tutorial

4. Remarks

If there is any infringement, please contact me to delete it.

5. Support Bloggers

If you think this article is helpful to you, please like, follow and favorite. wish you a happy life! If you want to get other resources, you can follow the WeChat public account on the left to get it!

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324197771&siteId=291194637