小型员工管理系统 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实现版,附源码)的主要内容,如果未能解决你的问题,请参考以下文章

mysql自动备份软件 1.0 绿色版

mysql自动备份软件 1.0 绿色版

xTiNt 论坛发帖辅助软件 1.0 绿色版

屏幕尺子(电脑尺子) 1.0 免费绿色版

将绿色版Tomcat/Nginx注册成服务,实现开机自启动

MySQL 硬盘版/解压版/绿色版 安装