content
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
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.
2. For more JavaSwing systems, please pay attention to the column.
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!