小型员工管理系统 1.0 绿色版(java实现版,附源码)
Posted 程序员小王java
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小型员工管理系统 1.0 绿色版(java实现版,附源码)相关的知识,希望对你有一定的参考价值。
小型员工管理系统 1.0 绿色版(java实现版)
🍅 Java学习路线:搬砖工的Java学习路线
🍅 作者:程序员小王
🍅 程序员小王的博客:https://www.wolai.com/wnaghengjie/ahNwvAUPG2Hb1Sy7Z8waaF
🍅 扫描主页左侧二维码,加我微信 一起学习、一起进步
🍅 欢迎点赞 👍 收藏 ⭐留言 📝
员工管理系统简介:
整个系统其实很简单,这里主要技术:idea开发工具+JSP + Struts2+ JDBC + mysql实现
1、管理员的登录,注册,验证码功能
2、员工的增删改查,批量删除,上传文件,下载文件 其中类的设计(实体)很有参考意义。
整个系统设计的目标人群是管理者,系统的主要功能是对员工进行各种信息的操作。
主要是完成对数据库的增删改查的功能。
一. 项目整体目录结构
MVC实现,界面层(Web)主要使用jsp来动态展现数据库中的数据,业务逻辑层(servlets)使用的servlet,数据访问层(dao)主要是连接各个Servlet与数据库之前的通信,从而实现对数据库的各种操作。其中的entity包主要是封装了两个实体:管理员和员工,方便且规范对数据的操作和代码的书写。
二. 界面效果展示:
1、管理员页面
(1)管理员登录页面
(2)管理员注册页面
2、员工页面
(1)员工页面展示
- 页面展示完成员工的增删改查,员工资料管理系统:完成上传文件,下载文件
(2)员工更新【页面数据回显】
(3)添加员工页面
三、数据库设计
1、admin表(管理员的账号和密码)
2、user表(员工信息表)
四、核心jar包(jar包下载参见文章末尾)
五、核心代码展示:(完整代码参见文章末尾)
1、entity类
(1)Admin.java(管理员属性的实体层,这里有管理员的登录账号和密码的定义)
package com.tjcu.entity;
/**
* @author 王恒杰
* @version 1.0
* @date 2021/9/27 18:48
* @email 1078993387@qq.com
* @Address 天津
* @Description:管理员功能:登录 注册 退出
*/
public class Admin {
private String id;
private String name;
private String password;
public Admin() {
}
public Admin(String id, String name, String password) {
this.id = id;
this.name = name;
this.password = password;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "Admin{" +
"id='" + id + '\\'' +
", name='" + name + '\\'' +
", password='" + password + '\\'' +
'}';
}
}
(2)User.java(和Admin.java差不多主要是实体属性的get和set方法)
package com.tjcu.entity;
/**
* @author 王恒杰
* @version 1.0
* @date 2021/9/27 18:49
* @email 1078993387@qq.com
* @Address 天津
* @Description:
*/
public class User {
private String id;
private String username;
private Double salary;
private Integer age;
public User() {
}
public User(String id, String username, Double salary, Integer age) {
this.id = id;
this.username = username;
this.salary = salary;
this.age = age;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Double getSalary() {
return salary;
}
public void setSalary(Double salary) {
this.salary = salary;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "User{" +
"id='" + id + '\\'' +
", username='" + username + '\\'' +
", salary=" + salary +
", age=" + age +
'}';
}
}
2、Dao层
(1)AdminDao接口
- 管理员功能:登录 注册 退出
package com.tjcu.dao;
import com.tjcu.entity.Admin;
/**
* @author 王恒杰
* @version 1.0
* @date 2021/9/27 18:47
* @email 1078993387@qq.com
* @Address 天津
* @Description:管理员功能:登录 注册 退出
*/
public interface AdminDao {
/**
* 登录
* @param admin
*/
public void insert(Admin admin);
/**
* 注册
* @param name
* @param password
* @return
*/
public Admin selectByNameAndPassword(String name,String password);
}
(2)AdminDao接口实现
package com.tjcu.dao.impl;
import com.tjcu.dao.UserDao;
import com.tjcu.entity.User;
import com.tjcu.utils.JdbcUtils;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
/**
* @author 王恒杰
* @version 1.0
* @date 2021/9/27 18:56
* @email 1078993387@qq.com
* @Address 天津
* @Description:员工功能:展示所有 、 添加 、 删除 、 修改
*/
public class UserDaoImpl implements UserDao {
@Override
public List<User> selectAll() {
ResultSet rs = null;
PreparedStatement pstm = null;
Connection conn = null;
List<User> list = new ArrayList<>();
try {
conn = JdbcUtils.getConnection();
String sql = "select * from t_user;";
pstm = conn.prepareStatement(sql);
rs = pstm.executeQuery();
while (rs.next()) {
String id = rs.getString("id");
String username = rs.getString("username");
double salary = rs.getDouble("salary");
int age = rs.getInt("age");
User user = new User(id, username, salary, age);
list.add(user);
}
return list;
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e.getMessage());
} finally {
JdbcUtils.close(rs, pstm, conn);
}
}
@Override
public void insert(User user) {
Connection conn = null;
PreparedStatement pstm = null;
try {
conn = JdbcUtils.getConnection();
String sql = "insert t_user value(?,?,?,?)";
pstm = conn.prepareStatement(sql);
pstm.setString(1, user.getId());
pstm.setString(2, user.getUsername());
pstm.setDouble(3, user.getSalary());
pstm.setInt(4, user.getAge());
pstm.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.close(pstm, null);
}
}
@Override
public void delete(String id) {
Connection conn = null;
PreparedStatement pstm = null;
try {
conn = JdbcUtils.getConnection();
String sql = "delete from t_user where id=?";
pstm = conn.prepareStatement(sql);
pstm.setString(1, id);
pstm.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.close(pstm, null);
}
}
@Override
public User selectById(String id) {
ResultSet rs = null;
PreparedStatement pstm = null;
Connection conn = null;
User user = null;
try {
conn = JdbcUtils.getConnection();
String sql = "select * from t_user where id=?;";
pstm = conn.prepareStatement(sql);
pstm.setString(1, id);
rs = pstm.executeQuery();
if (rs.next()) {
String id2 = rs.getString("id");
String username = rs.getString("username");
double salary = rs.getDouble("salary");
int age = rs.getInt("age");
user = new User(id2, username, salary, age);
}
return user;
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e.getMessage());
} finally {
JdbcUtils.close(rs, pstm, conn);
}
}
@Override
public void update(User user) {
PreparedStatement pstm = null;
Connection conn = null;
try {
conn = JdbcUtils.getConnection();
String sql = "update t_user set username=?,salary=?,age=? where id=?;";
pstm = conn.prepareStatement(sql);
pstm.setString(1, user.getUsername());
pstm.setDouble(2, user.getSalary());
pstm.setInt(3, user.getAge());
pstm.setString(4, user.getId());
System.out.println("Update+++" + user);
pstm.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e.getMessage());
} finally {
JdbcUtils.close(pstm, null);
}
}
}
(3)UserDao接口
- 员工功能:展示所有 、 添加 、 删除 、 修改
package com.tjcu.dao;
import com.tjcu.entity.User;
import java.util.List;
/**
* @author 王恒杰
* @version 1.0
* @date 2021/9/27 18:56
* @email 1078993387@qq.com
* @Address 天津
* @Description:员工功能:展示所有 、 添加 、 删除 、 修改
*/
public interface UserDao {
/**
* 展示所有
* @return
*/
public List<User> selectAll();
/**
* 添加
* @param user
*/
public void insert(User user);
/**
* 删除
* @param id
*/
public void delete(String id);
/**
* 回显
* @param id
* @return
*/
public User selectById(String id);
/**
* 修改
* @param user
*/
public void update(User user);
}
(4)UserDao接口实现
package com.tjcu.dao.impl;
import com.tjcu.dao.AdminDao;
import com.tjcu.entity.Admin;
import com.tjcu.utils.JdbcUtils;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
/**
* @author 王恒杰
* @version 1.0
* @date 2021/9/27 18:48
* @email 1078993387@qq.com
* @Address 天津
* @Description:
*/
public class AdminDaoImpl implements AdminDao {
@Override
public void insert(Admin admin) {
Connection conn = null;
PreparedStatement pstm = null;
try {
conn = JdbcUtils.getConnection();
String sql = "insert t_admin value(?,?,?)";
pstm = conn.prepareStatement(sql);
pstm.setString(1, admin.getId());
pstm.setString(2, admin.getName());
pstm.setString(3, admin.getPassword());
pstm.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
System.out.println("注册异常");
} finally {
JdbcUtils.close(pstm, null);
}
}
@Override
public Admin selectByNameAndPassword(String name, String password) {
Connection conn = null;
PreparedStatement pstm = null;
ResultSet rs = null;
Admin admin = null;
try {
conn = JdbcUtils.getConnection();
String sql = "select * from t_admin where name=? and password=?";
pstm = conn.prepareStatement(sql);
pstm.setString(1, name);
pstm.setString(2以上是关于小型员工管理系统 1.0 绿色版(java实现版,附源码)的主要内容,如果未能解决你的问题,请参考以下文章