題目:慧心人力資源管理系統
檔案下載:https://download.csdn.net/download/weixin_44893902/16336711
完整專案下載:https://download.csdn.net/download/weixin_44893902/16393518
目錄
一、語言和環境
二、實作功能
三、資料庫設計
四、具體要求及推薦實作步驟
五、評分標準
六、實作代碼
一、語言和環境
- 實作語言:JAVA語言,
- 環境要求:MyEclipse/Eclipse + Tomcat + MySql,
- 使用技術:Jsp+Servlet+JavaBean
- 資料庫技術:JDBC
二、實作功能
人力資源公司為了提高管理效率,需開發一套B/S結構人力資源管理系統,對員工資訊進行管理,主要功能如下:
1、首頁默認顯示現有的所有員工資訊
2、滑鼠懸停某行資料,該行樣式發生變化
3、表格最后一行為統計行,顯示當前一共有多少條資料
4、 點擊右下“新增”按鈕進入新增頁面,輸入相關資訊后點擊添加,完成新增員工資訊功能,并且回傳到首頁顯示最新資料,如圖4、5所示
5、點擊每行最后洗掉功能時彈出提示框,用戶確認后洗掉該行資料并重繪最新員工資料,如圖6所示,
6、點擊每行更新鏈接后跳轉到更新頁面,更新界面顯示出要修改的員工資訊,更新成功后跳轉到首頁顯示最新資料,如圖8、9所示:
三、資料庫設計
-
創建資料庫(HRDB),
-
創建員工資訊表(TB_EMP),結構如下,
| 欄位名 | 說明 | 欄位型別 | 長度 | 備注 |
| id | 員工編號 | int |
| 主鍵,自增,增量為1 |
| name | 員工姓名 | varchar | 50 | 不能為空 |
| gender | 員工性別 | varchar | 50 | 不能為空 |
| birthday | 員工生日 | varchar | 50 | 不能為空 |
| phone | 手機號碼 | varchar | 11 | 不能為空 |
四、具體要求及推薦實作步驟
-
創建資料庫,創建員工資訊表,添加測驗資料(至少添加4條測驗資料),
-
創建web工程并創建各個包,匯入工程所需的jar檔案,
-
創建Employee物體類,
-
創建BaseDAO工具類使用JDBC完成資料表資料的增刪改查,創建Servlet相關類完成功能對應的用戶請求處理,
-
撰寫JSP頁面進行資料展示,以及新增、修改的界面,
五、評分標準
| 題目:慧心人力資源管理系統 | ||
| 5 | 資料庫(提交資料庫腳本) | |
|
| 5 | 創建資料庫及添加測驗資料 |
| 5 | 正確創建和撰寫物體類,包含所有屬性及方法 | |
| 2 | 正確創建BaseDao類,包含獲取連接及關閉資源方法 | |
| 35 | 正確創建EmployeeDAO類或者EmployeeMapper介面,使用jdbc | |
|
| 10 | 正確創建查詢資料回傳集合的方法 |
|
| 5 | 正確創建洗掉資料的方法 |
|
| 10 | 正確創建更新資料的方法 |
|
| 10 | 正確創建新增資料的方法 |
| 30 | Servlet相關處理類 | |
|
| 10 | 正確創建處理全部資料查詢查詢請求Servlet類,web.xml中請求映射配置或注解正確 |
|
| 5 | 正確創建處理新增資料請求Servlet類,web.xml中請求映射配置或注解正確 |
|
| 5 | 正確創建處理洗掉資料請求Servlet類,web.xml中請求映射配置或注解正確 |
|
| 5 | 正確創建處理更新資料時單個資料查詢請求Servlet類,web.xml中請求映射配置或注解正確 |
|
| 5 | 正確創建處理資料更新請求Servlet類,web.xml中請求映射配置或注解正確 |
| 18 | JSP相關頁面 | |
|
| 10 | 展示所有資料頁面 7分 顯示統計資訊3分 |
|
| 3 | 修改員工資訊頁面 |
|
| 5 | 新增員工資訊頁面 |
| 5 | 總體編程技術 | |
|
| 2 | 編碼命名規范 |
|
| 3 | 程式正常運行,無例外 |
| 總分 | 100分 | |
六、實作代碼
1、目錄結構:

2、使用到的包:

3、Java代碼:
util
BaseDao.java
package util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
public class BaseDao {
private static String url="jdbc:mysql://localhost:3306/hrdb?useUnicode=true&characterEncoding=UTF-8&useSSL=false";
private static String userName="root";
private static String password="root";
private static String driver="com.mysql.jdbc.Driver";
private static Connection connection;
private static Properties properties = new Properties();
static{
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConnection(){
try {
if(connection==null||connection.isClosed()){
connection = DriverManager.getConnection(url,userName,password);
}
} catch (SQLException e) {
e.printStackTrace();
}
return connection;
}
public static void close(Connection connection) throws Exception {
try {
if (connection != null) {
connection.close();
}
} catch (Exception e) {
e.printStackTrace();
throw new Exception();
}
}
public static void main(String[] args) {
System.out.println(getConnection());
}
}
entity
TbEmp.java
package entity;
import java.io.Serializable;
public class TbEmp implements Serializable{
private static final long serialVersionUID = 1L;
private Integer id;
private String name;
private String gender;
private String birthday;
private String phone;
public TbEmp() {
super();
}
@Override
public String toString() {
return "TbEmp [id=" + id + ", name=" + name + ", gender=" + gender + ", birthday=" + birthday + ", phone="
+ phone + "]";
}
public TbEmp(Integer id, String name, String gender, String birthday, String phone) {
super();
this.id = id;
this.name = name;
this.gender = gender;
this.birthday = birthday;
this.phone = phone;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
}
mapper
EmpMapper.java
package mapper;
import java.util.List;
import entity.TbEmp;
public interface EmpMapper {
//查詢所有
List<TbEmp> queryAll();
//添加
int addEmp(TbEmp tbEmp);
//更新
int updateEmp(TbEmp tbEmp);
//洗掉
int del(int id);
}
service
EmpService.java
package service;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.mysql.jdbc.Connection;
import entity.TbEmp;
import mapper.EmpMapper;
import util.BaseDao;
public class EmpService implements EmpMapper {
@Override
public List<TbEmp> queryAll() {
Connection conn = null;
String sql = null;
try {
sql = "select * from tb_emp";
conn = (Connection) BaseDao.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet resultSet = ps.executeQuery();
ArrayList<TbEmp> arrayList = new ArrayList<TbEmp>();
while (resultSet.next()) {
TbEmp tbEmp = new TbEmp();
tbEmp.setId(resultSet.getInt("id"));
tbEmp.setName(resultSet.getString("name"));
tbEmp.setGender(resultSet.getString("gender"));
tbEmp.setBirthday(resultSet.getString("birthday"));
tbEmp.setPhone(resultSet.getString("phone"));
arrayList.add(tbEmp);
}
if (arrayList.size() > 0) {
return arrayList;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return null;
}
@Override
public int addEmp(TbEmp tbEmp) {
Connection connection = null;
try {
String sql = "insert into tb_emp(name,gender,birthday,phone) values(?,?,?,?)";
connection = (Connection) BaseDao.getConnection();
PreparedStatement ps = connection.prepareStatement(sql);
ps.setString(1, tbEmp.getName());
ps.setString(2, tbEmp.getGender());
ps.setString(3, tbEmp.getBirthday());
ps.setString(4, tbEmp.getPhone());
int add = ps.executeUpdate();
if (add > 0) {
return add;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return 0;
}
@Override
public int updateEmp(TbEmp tbEmp) {
Connection connection = null;
try {
String sql = "update tb_emp set name='" + tbEmp.getName() + "',gender='" + tbEmp.getGender()
+ "',birthday='" + tbEmp.getBirthday() + "',phone='" + tbEmp.getPhone() + "' where id='"
+ tbEmp.getId() + "'";
System.out.println(sql);
connection = (Connection) BaseDao.getConnection();
PreparedStatement ps = connection.prepareStatement(sql);
int update = ps.executeUpdate();
if (update > 0) {
return update;
}
} catch (Exception e) {
}
return 0;
}
@Override
public int del(int id) {
Connection connection = null;
String sql = null;
try {
sql = "delete from tb_emp where id=" + id;
connection = (Connection) BaseDao.getConnection();
PreparedStatement ps = connection.prepareStatement(sql);
int delUpdate = ps.executeUpdate();
if (delUpdate > 0) {
return delUpdate;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return 0;
}
}
controller
EmpController.java
package controller;
import java.util.List;
import entity.TbEmp;
import mapper.EmpMapper;
import service.EmpService;
public class EmpController {
EmpMapper empMapper=new EmpService();
public List<TbEmp> allInfoList(){
List<TbEmp> queryAll = empMapper.queryAll();
return queryAll;
}
//添加
public int addEmp(TbEmp tbEmp){
return empMapper.addEmp(tbEmp);
}
//更新
public int updataEmp(TbEmp tbEmp){
return empMapper.updateEmp(tbEmp);
}
//洗掉
public int delInfo(int id){
return empMapper.del(id);
}
}
servlet
EmpShowServlet.java
package servlet;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import controller.EmpController;
import entity.TbEmp;
@WebServlet("/EmpShowServlet")
public class EmpShowServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public EmpShowServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
EmpController controller=new EmpController();
List<TbEmp> tbemp = controller.allInfoList();
HttpSession session = request.getSession();
session.setAttribute("empsList", tbemp);
request.getRequestDispatcher("main.jsp").forward(request, response);
}
}
AddEmpServlet.java
package servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import controller.EmpController;
import entity.TbEmp;
@WebServlet("/AddEmpServlet")
public class AddEmpServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public AddEmpServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
EmpController controller = new EmpController();
String name = request.getParameter("name");
String gender = request.getParameter("gender");
String birthday = request.getParameter("birthday");
String phone = request.getParameter("phone");
TbEmp emp = new TbEmp(0, name, gender, birthday, phone);
int addEmp = controller.addEmp(emp);
if (addEmp > 0) {
response.sendRedirect("EmpShowServlet");
}
}
}
DelServlet.java
package servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import controller.EmpController;
@WebServlet("/DelServlet")
public class DelServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public DelServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
EmpController controller=new EmpController();
String id=request.getParameter("id");
int id1=Integer.parseInt(id);
int del = controller.delInfo(id1);
if (del>0) {
response.sendRedirect("EmpShowServlet");
}
}
}
UpdatEmpServlet.java
package servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import controller.EmpController;
import entity.TbEmp;
@WebServlet("/UpdatEmpServlet")
public class UpdataEmpServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public UpdataEmpServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
EmpController controller=new EmpController();
Integer id= Integer.parseInt(request.getParameter("id").toString());
String name = request.getParameter("name");
String gender = request.getParameter("gender");
String birthday = request.getParameter("birthday");
String phone = request.getParameter("phone");
TbEmp emp=new TbEmp(id,name,gender,birthday,phone);
System.out.println(emp.toString());
int updatEmp = controller.updataEmp(emp);
if (updatEmp>0) {
response.sendRedirect("EmpShowServlet");
}
}
}
4、HTML代碼:
main.jsp
<%@page import="entity.TbEmp"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>慧心人力資源管理系統</title>
<style type="text/css">
body {
width: 100%;
}
.wrap_table {
width: 60%;
margin: 0 auto;
text-align: center;
}
table {
text-align: center;
margin: 0 auto;
}
table tr:nth-last-child(1) {
padding-right: 20px;
}
table th {
padding: 10px;
}
table:nth-last-child(2) tr:hover, table tr:hover a {
color: white;
background-color: black;
}
table:nth-last-child(1) tr {align ="left";
}
table:nth-last-child(1) td {
padding: 10px;
}
table:nth-last-child(2) td {
padding: 5px;
}
#end {
text-align: right;
}
#name {
margin-bottom: 10px;
}
#price {
margin-bottom: 10px;
}
#num {
margin-bottom: 10px;
}
#type {
margin-bottom: 10px;
}
</style>
</head>
<body >
<div class="wrap_table">
<table border="1" cellspacing="0" cellpadding="0" height="300px">
<caption align="top"
style="font-size: 1.6rem; height: 50px; font-weight: bold;">人力資源管理</caption>
<tr>
<th width="80">員工編號</th>
<th width="120">員工姓名</th>
<th width="80">員工性別</th>
<th width="140">員工生日</th>
<th width="140">員工手機</th>
<th width="120">操作</th>
</tr>
<%
List<TbEmp> empsList = (List<TbEmp>) session.getAttribute("empsList");
int i = 0;
%>
<c:forEach items="${empsList}" var="emp">
<tr>
<td>${emp.id }</td>
<td>${emp.name }</td>
<td>${emp.gender }</td>
<td>${emp.birthday }</td>
<td>${emp.phone }</td>
<td><input type="button" onclick="update(this)" class="updata"
value="更新" /> <input type="button" onclick="del(${emp.id })"
value="洗掉" /></td>
</tr>
</c:forEach>
<tr>
<td colspan="6" id="end"><span>共計<%=empsList.size() + 1%>條資料
</span> <a href="addEmp.jsp">新增</a></td>
</tr>
</table>
<div
style="width: 500px; height: 400px; border: 1px solid #000; background-color: white; display: none; position: absolute; left: 40%; top: 10%;"
id="UpdataDiv">
<form action="UpdatEmpServlet" method="post" id="UpdataForm">
<br /> <br />
<table border="1" cellspacing="0" cellpadding="0"
style="text-align: left;" width="400" height="200">
<caption align="top"
style="font-size: 1.6rem; height: 50px; font-weight: bold;">更新員工資訊</caption>
<tr style="display: none">
<td><input type="text" name="id" id="id" value=""></td>
</tr>
<tr>
<td>員工姓名:<input type="text" name="name" id="name" value=""></td>
</tr>
<tr>
<td>員工性別:<input id="man" type="radio" name="gender" value="男" />男
<input id="woman" type="radio" name="gender" value="女">女
</td>
</tr>
<tr>
<td>員工生日:<input id="birthday" name="birthday" type="date"
value="" /></td>
</tr>
<tr>
<td>員工號碼:<input type="text" name="phone" id="phone" value=""></td>
</tr>
<tr align="center">
<td><input type="submit" value="提交"> <input
type="button" value="取消" class="updata2"></td>
</tr>
</table>
</form>
</div>
</div>
<script src="js/jquery-1.9.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(".updata").click(function(){
$("#UpdataDiv").css("display","block");
});
$(".updata2").click(function(){
$("#UpdataDiv").css("display","none");
});
</script>
<script type="text/javascript">
function update(obj) {
var id=$(obj).parents("tr").children("td").eq(0).text();
var name=$(obj).parents("tr").children("td").eq(1).text();
var gender=$(obj).parents("tr").children("td").eq(2).text();
var birthday=$(obj).parents("tr").children("td").eq(3).text();
var phone=$(obj).parents("tr").children("td").eq(4).text();
document.getElementById("id").value = id;
document.getElementById("name").value = name;
if (gender=="男") {
document.getElementById("man").checked = true
}
if (gender=="女") {
document.getElementById("woman").checked = true
}
document.getElementById("birthday").value = birthday;
document.getElementById("phone").value = phone;
}
function del(id) {
if (confirm("確定洗掉該資料?")) {
window.location.href="DelServlet?id="+id;
}
}
function a(){
$.ajax({
url:"EmpShowServlet",//servlet檔案的名稱
type:"POST",
success:function(e){
alert("servlet呼叫成功!");
}
});
}
</script>
</body>
</html>
addEmp.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<head>
<meta charset="UTF-8">
<title>慧心人力資源管理系統-添加員工資訊</title>
<style type="text/css">
body {
width: 100%;
}
.wrap_table {
width: 40%;
margin: 0 auto;
text-align: center;
}
table {
text-align: left;
margin: 0 auto;
height: 200px;
width: 400px;
}
table td {
padding: 10px;
}
.button_class input {
padding: 3px 10px;
}
</style>
</head>
<body>
<div class="wrap_table">
<form action="AddEmpServlet" method="post">
<table border="1" cellspacing="0" cellpadding="0">
<caption align="top"
style="font-size: 1.6rem; height: 50px; font-weight: bold;">添加員工資訊</caption>
<tr>
<td>員工姓名:</td>
<td><input type="text" name="name" id="name" value="" /></td>
</tr>
<tr>
<td>性別:</td>
<td><input id="man" type="radio" checked="checked"
name="gender" value="男" />男 <input id="woman" type="radio"
name="gender" / value="女">女</td>
</tr>
<tr>
<td>員工生日:</td>
<td><input id="birthday" name="birthday" type="date" value="" />
</tr>
<tr>
<td>員工手機:</td>
<td><input type="text" name="phone" id="" value="" /></td>
</tr>
<tr>
<td colspan="2" align="center" class="button_class"><input
type="submit" name="" id="" value="添加" /> <input type="reset"
name="" id="" value="重置" /></td>
</tr>
</table>
</form>
</div>
</body>
</html>
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/272280.html
標籤:其他
上一篇:idea常用快捷鍵!(開發必備)
