Eclipse+Java+Swing实现企业人事管理系统
Java+Swing實現企業人事管理系統
- 一、系統介紹
- 二、系統展示
- 1.登錄頁
- 2.主頁面
- 3.添加員工信息
- 4.修改員工信息
- 5.計算器
- 6.記事本
- 7.導出Execl
- 三、系統實現
- AccountDao.java
- DeptDao.java
- PersonDao.java
- JDBCUtils.java
- LoginFrame.java
- 四、其他
- 1.其他系統實現
- Java+JSP系統系列實現
- Java+Servlet+JSP系統系列實現
- Java+SSM系統系列實現
- Java+SSH系統系列實現
- Java+Springboot系統系列實現
- JavaSwing+Mysql系統系列實現
- JavaSwing+Txt系統系列實現
- 2.獲取源碼
- 3.備注
一、系統介紹
本系統實現的功能:用戶登錄、員工信息的增刪改查、導出Execl、計算器、記事本、信息排序。采用AES加密算法,數據庫使用Mysql8.0.13,界面良好。
二、系統展示
1.登錄頁
2.主頁面
3.添加員工信息
4.修改員工信息
5.計算器
6.記事本
7.導出Execl
三、系統實現
AccountDao.java
package com.sjsq.dao;import java.util.List;import com.sjsq.model.TbAccount; import com.sjsq.model.TbDept; import com.sjsq.model.TbPerson;import org.springframework.dao.DataAccessException; import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.jdbc.core.JdbcTemplate;import com.sjsq.tools.JDBCUtils;public class AccountDao {private static JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());public static List<TbAccount> findAllAccount() {try {String sql = "select * from tb_account";List<TbAccount> a = template.query(sql, new BeanPropertyRowMapper<TbAccount>(TbAccount.class));return a;} catch (DataAccessException e) {e.printStackTrace();return null;}}public static String findAccountMoneyById(int i) {try {String sql = "select * from tb_account where timecard_id=?";TbAccount tbAccount = template.queryForObject(sql, new BeanPropertyRowMapper<TbAccount>(TbAccount.class),i);return tbAccount.getMoney();} catch (DataAccessException e) {e.printStackTrace();return null;}} }DeptDao.java
package com.sjsq.dao;import java.util.List;import com.sjsq.model.TbDept;import org.springframework.dao.DataAccessException; import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.jdbc.core.JdbcTemplate;import com.sjsq.tools.JDBCUtils;public class DeptDao {private static JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());public static TbDept findDeptById(int deptId) {String sql = "select * from tb_dept where id=?";TbDept dept = template.queryForObject(sql, new BeanPropertyRowMapper<TbDept>(TbDept.class), deptId);return dept;}public static List<TbDept> findAllDept() {try {String sql = "select * from tb_dept";List<TbDept> tbDept = template.query(sql, new BeanPropertyRowMapper<TbDept>(TbDept.class));return tbDept;} catch (DataAccessException e) {e.printStackTrace();return null;}}public static int findDeptIdByName(String item) {String sql = "select * from tb_dept where name=?";TbDept dept = template.queryForObject(sql, new BeanPropertyRowMapper<TbDept>(TbDept.class), item);return dept.getId();}public static List<TbDept> findAllDeptExceptZero() {try {String sql = "select * from tb_dept where id<>0";List<TbDept> tbDept = template.query(sql, new BeanPropertyRowMapper<TbDept>(TbDept.class));return tbDept;} catch (DataAccessException e) {e.printStackTrace();return null;}}public static TbDept findDeptByName(String name) {try {String sql = "select * from tb_dept where name=?";TbDept dept = template.queryForObject(sql, new BeanPropertyRowMapper<TbDept>(TbDept.class), name);return dept;} catch (DataAccessException e) {e.printStackTrace();return null;}}public static void addDept(TbDept d2) {try {String sql = "insert into tb_dept(name) values (?)";template.update(sql, d2.getName());} catch (DataAccessException e) {e.printStackTrace();}}public static void deleteDeptById(int id) {try {String sql = "delete from tb_dept where id=?";template.update(sql, id);} catch (DataAccessException e) {e.printStackTrace();}}public static void updateDept(int id, String input) {try {String sql = "update tb_dept set name = ? where id = ?";template.update(sql, input, id);} catch (Exception e) {e.printStackTrace();}} }PersonDao.java
package com.sjsq.dao;import java.util.List;import com.sjsq.model.TbPerson;import org.springframework.dao.DataAccessException; import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.jdbc.core.JdbcTemplate;import com.sjsq.tools.JDBCUtils; import com.sjsq.tools.PwEncryption;public class PersonDao {private static JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());public static TbPerson queryRecordByNum(String num) {try {String sql = "select * from tb_person where record_number=?";TbPerson tbRecord = template.queryForObject(sql, new BeanPropertyRowMapper<TbPerson>(TbPerson.class), num);return tbRecord;} catch (DataAccessException e) {e.printStackTrace();return null;}}public static List<TbPerson> findAllPerson() {try {String sql = "select * from tb_person";List<TbPerson> tbPerson = template.query(sql, new BeanPropertyRowMapper<TbPerson>(TbPerson.class));return tbPerson;} catch (DataAccessException e) {e.printStackTrace();return null;}}public static List<TbPerson> likePersonByRecordNumber(String recordNumber) {try {String sql = "select * from tb_person where record_number like '%' ? '%'";List<TbPerson> tbPerson = template.query(sql, new BeanPropertyRowMapper<TbPerson>(TbPerson.class),recordNumber);return tbPerson;} catch (DataAccessException e) {e.printStackTrace();return null;}}public static List<TbPerson> findPersonByDeptId(int i) {try {String sql = "select * from tb_person where dept_id=?";List<TbPerson> tbPerson = template.query(sql, new BeanPropertyRowMapper<TbPerson>(TbPerson.class), i);return tbPerson;} catch (DataAccessException e) {e.printStackTrace();return null;}}public static TbPerson findPersonByRecordNumber(String recordNumber) {try {String sql = "select * from tb_person where record_number=?";TbPerson tbPerson = template.queryForObject(sql, new BeanPropertyRowMapper<TbPerson>(TbPerson.class),recordNumber);return tbPerson;} catch (DataAccessException e) {System.out.println("查找員工為空數據");e.printStackTrace();return null;}}public static void updatePerson(TbPerson person) {try {String sql = "update tb_person set dept_id=?,duty_id=?,name=?,sex=?,"+ "birthday=?,photo=?,id_card=?,marriaged=?,native_place_id=?,"+ "party_member=?,school_age=?,specialty=?,foreign_language=?,"+ "grade=?,state=?,role_id=? where record_number=?";template.update(sql, person.getDeptId(), person.getDutyId(), person.getName(), person.getSex(),person.getBirthday(), person.getPhoto(), person.getIdCard(), person.getMarriaged(),person.getNativePlaceId(), person.getPartyMember(), person.getSchoolAge(), person.getSpecialty(),person.getForeignLanguage(), person.getGrade(), person.getState(), person.getRoleId(),person.getRecordNumber());} catch (Exception e) {e.printStackTrace();}}public static void addPerson(TbPerson person) {try {String sql = "insert into tb_person(record_number,dept_id,duty_id,name,sex,"+ "birthday,photo,id_card,marriaged,native_place_id,"+ "party_member,school_age,specialty,foreign_language,"+ "grade,state,role_id) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";template.update(sql, person.getRecordNumber(), person.getDeptId(), person.getDutyId(), person.getName(),person.getSex(), person.getBirthday(), person.getPhoto(), person.getIdCard(), person.getMarriaged(),person.getNativePlaceId(), person.getPartyMember(), person.getSchoolAge(), person.getSpecialty(),person.getForeignLanguage(), person.getGrade(), person.getState(), person.getRoleId());} catch (DataAccessException e) {e.printStackTrace();}}public static void deletePersonByrecordNumber(String recordNumber) {try {String sql = "delete from tb_person where record_number=?";template.update(sql, recordNumber);} catch (DataAccessException e) {e.printStackTrace();}}public static TbPerson login(TbPerson person) {try {String sql = "select * from tb_person where record_number=? and password=?";TbPerson tbPerson = template.queryForObject(sql, new BeanPropertyRowMapper<TbPerson>(TbPerson.class),person.getRecordNumber(), person.getPassword());return tbPerson;} catch (DataAccessException e) {System.out.println("空結果數據訪問異常");e.printStackTrace();return null;}}public static void updatePersonPassword(TbPerson person) {try {String sql = "update tb_person set password = ? where record_number= ?";template.update(sql, person.getPassword(), person.getRecordNumber());} catch (Exception e) {e.printStackTrace();}}public static List<TbPerson> likePersonByName(String name) {try {String sql = "select * from tb_person where name like '%' ? '%'";List<TbPerson> tbPerson = template.query(sql, new BeanPropertyRowMapper<TbPerson>(TbPerson.class), name);return tbPerson;} catch (DataAccessException e) {e.printStackTrace();return null;}}public static void main(String args[]) {String userName = "T00001";String password = "123456";TbPerson person = new TbPerson(userName, PwEncryption.encrypt(password, "key"));login(person);} }JDBCUtils.java
package com.sjsq.tools;import com.alibaba.druid.pool.DruidDataSourceFactory;import javax.sql.DataSource; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties;/*** Druid連接池工具類,將來dao層調用*/ public class JDBCUtils {private static DataSource dataSource; // 定義成員變量DataSourcestatic {try {// 加載配置文件Properties properties = new Properties();properties.load(JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties"));// 獲取DataSourcedataSource = DruidDataSourceFactory.createDataSource(properties);} catch (Exception e) {e.printStackTrace();}}/*** 獲取連接*/public static Connection getConnection() throws SQLException {return dataSource.getConnection();}/*** 釋放資源*/public static void close(Statement statement, Connection connection) {close(null, statement, connection);}public static void close(ResultSet resultSet, Statement statement, Connection connection) {if (resultSet != null) {try {resultSet.close();} catch (SQLException e) {e.printStackTrace();}}if (statement != null) {try {statement.close();} catch (SQLException e) {e.printStackTrace();}}if (connection != null) {try {connection.close();// 歸還連接} catch (SQLException e) {e.printStackTrace();}}}/*** 獲取連接池方法*/public static DataSource getDataSource() {return dataSource;} }LoginFrame.java
package com.sjsq.view;import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.Toolkit; import java.io.IOException; import java.sql.Connection; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Timer; import java.util.TimerTask;import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JTextField; import javax.swing.UIManager; import javax.swing.border.EmptyBorder; import javax.swing.SwingConstants;import com.sjsq.model.TbPerson;import org.jb2011.lnf.beautyeye.BeautyEyeLNFHelper;import com.sjsq.dao.PersonDao; import com.sjsq.tools.PwEncryption; import com.sjsq.tools.StringUtil; import com.sjsq.tools.TxtExport;/*** 登陸窗體類,為用戶第一窗體* * @author 22219**/ public class LoginFrame extends JFrame {/*** 串行版本標識serialVersionUID*/private static final long serialVersionUID = 1L;private JPanel contentPane;public static JTextField userNameTxt;private JPasswordField passwordTxt;public static String time;public static String userId;/*** 登陸窗體類的構造函數*/public LoginFrame() {this.setBounds(0, 0, 500, 400);this.setLocationRelativeTo(null);setResizable(false);//setIconImage(Toolkit.getDefaultToolkit().getImage(LoginFrame.class.getResource("/images/storage_128px.png")));setTitle("登錄");setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);contentPane = new JPanel();contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));setContentPane(contentPane);contentPane.setLayout(null);JLabel lblNewLabel = new JLabel("企業人事管理系統");lblNewLabel.setBounds(96, 29, 300, 48);lblNewLabel.setFont(new Font("方正粗黑宋簡體", Font.BOLD, 27));lblNewLabel.setIcon(new ImageIcon(LoginFrame.class.getResource("/images/hrm.png")));JLabel lblNewLabel_1 = new JLabel("賬號");lblNewLabel_1.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 15));lblNewLabel_1.setBounds(34, 126, 80, 18);lblNewLabel_1.setIcon(new ImageIcon(LoginFrame.class.getResource("/images/userName.png")));JLabel lblNewLabel_2 = new JLabel("密碼");lblNewLabel_2.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 15));lblNewLabel_2.setBounds(34, 185, 65, 18);lblNewLabel_2.setIcon(new ImageIcon(LoginFrame.class.getResource("/images/password.png")));userNameTxt = new JTextField();userNameTxt.setHorizontalAlignment(SwingConstants.CENTER);userNameTxt.setBounds(96, 110, 308, 46);userNameTxt.setFont(new Font("微軟雅黑", Font.BOLD, 20));userNameTxt.setToolTipText("輸入用戶名");userNameTxt.setColumns(10);passwordTxt = new JPasswordField();passwordTxt.setHorizontalAlignment(SwingConstants.CENTER);passwordTxt.setBounds(96, 169, 308, 46);passwordTxt.setFont(new Font("微軟雅黑", Font.BOLD, 20));passwordTxt.setToolTipText("輸入密碼");JButton btnNewButton = new JButton("登錄");btnNewButton.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 15));btnNewButton.setBounds(120, 252, 90, 40);this.getRootPane().setDefaultButton(btnNewButton);btnNewButton.setIcon(new ImageIcon(LoginFrame.class.getResource("/images/login.png")));btnNewButton.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {loginActionPerformed(e);}});JButton btnNewButton_1 = new JButton("重置");btnNewButton_1.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 15));btnNewButton_1.setBounds(280, 252, 90, 40);btnNewButton_1.setIcon(new ImageIcon(LoginFrame.class.getResource("/images/reset.png")));btnNewButton_1.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {resetValueActionPerformed(e);}});JButton btnNewButton_2 = new JButton("注/改");btnNewButton_2.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 15));btnNewButton_2.setBounds(305, 252, 90, 40);btnNewButton_2.setIcon(new ImageIcon(LoginFrame.class.getResource("/images/add.png")));btnNewButton_2.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {enrollValueActionPerformed(e);}});contentPane.add(lblNewLabel);contentPane.add(lblNewLabel_1);contentPane.add(lblNewLabel_2);contentPane.add(passwordTxt);contentPane.add(userNameTxt);contentPane.add(btnNewButton);contentPane.add(btnNewButton_1);//contentPane.add(btnNewButton_2);this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);this.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {if (JOptionPane.showConfirmDialog(null, "確認退出?", "提示", JOptionPane.YES_NO_OPTION) == 0) {System.exit(0);}}});// bg------------------------------------------------JLabel lbBg = new JLabel(new ImageIcon(this.getClass().getResource("/images/timg.png")));lbBg.setBounds(0, 0, 500, 400);this.getContentPane().add(lbBg);// bg------------------------------------------------// sj------------------------------------------------JLabel timeLabel = new JLabel();timeLabel.setBounds(260, 319, 220, 18);contentPane.add(timeLabel);TimerTask task = new TimerTask() {public void run() {String sdate = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(new Date());timeLabel.setText(sdate);}};Timer t = new Timer();t.scheduleAtFixedRate(task, new Date(), 1000);// sj-------------------------------------------------}/*** 登陸事件處理* * @param e*/private void loginActionPerformed(ActionEvent e) {String userName = this.userNameTxt.getText();String password = new String(this.passwordTxt.getPassword());if (StringUtil.isEmpty(userName)) {JOptionPane.showMessageDialog(this, "用戶名不能為空!");return;}if (StringUtil.isEmpty(password)) {JOptionPane.showMessageDialog(this, "密碼不能為空!");return;}TbPerson person = new TbPerson(userName, PwEncryption.encrypt(password, "key"));// TbPerson person = new TbPerson(userName,password);TbPerson personNew = PersonDao.login(person);if (personNew != null) {JOptionPane.showMessageDialog(this, "登陸成功!");MainFrame mainFrame = new MainFrame(userNameTxt.getText());mainFrame.frame.setVisible(true);// 導出登陸日志(用戶id+時間)SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");time = df.format(new Date());System.out.println("用戶Id:" + userNameTxt.getText() + "\t登陸時間:" + time);try {TxtExport.creatTxtFile("Enterprise Personnel Management System");TxtExport.writeTxtFile("員工Id:" + userNameTxt.getText() + "\t登陸時間:" + time);} catch (IOException e1) {e1.printStackTrace();}dispose();// 銷毀窗體} else {JOptionPane.showMessageDialog(this, "用戶名或密碼錯誤!");}}/*** 重置事件處理* * @param e*/private void resetValueActionPerformed(ActionEvent evt) {this.userNameTxt.setText("");this.passwordTxt.setText("");userNameTxt.requestFocus();}/*** 注冊事件處理* * @param e*/private void enrollValueActionPerformed(ActionEvent e) {String str = JOptionPane.showInputDialog(this, "輸入超級管理員密碼", "KEY", 2);TbPerson p = PersonDao.findPersonByRecordNumber("T00001");if (str == null) {return;} else if ("".equals(str)) {JOptionPane.showMessageDialog(this, "請至少輸入一個字符", "", 1);} else if (p.getPassword().equals(PwEncryption.encrypt(str, "key"))) {// }else if (str.equals(p.getPassword())) {this.setVisible(false);dispose();EnrolmentFrame enrollFrame = new EnrolmentFrame();enrollFrame.setVisible(true);} else {JOptionPane.showMessageDialog(this, "密碼錯誤", "", 0);}}/*** 登陸窗口*/public static void main(String[] args) {LoginFrame frame = new LoginFrame();frame.setVisible(true);}}四、其他
1.其他系統實現
Java+JSP系統系列實現
Java+JSP實現學生圖書管理系統
Java+JSP實現學生信息管理系統
Java+JSP實現用戶信息管理系統
Java+Servlet+JSP系統系列實現
Java+Servlet+JSP實現航空訂票系統
Java+Servlet+JSP實現新聞發布系統
Java+Servlet+JSP實現圖書管理系統
Java+Servlet+JSP實現停車場管理系統
Java+Servlet+JSP實現房屋租賃管理系統
Java+Servlet+JSP實現學生選課管理系統
Java+Servlet+JSP實現寵物診所管理系統
Java+Servlet+JSP實現學生宿舍管理系統
Java+Servlet+JSP實現學生信息管理系統
Java+Servlet+JSP實現學生成績管理系統1
Java+Servlet+JSP實現學生成績管理系統2
Java+SSM系統系列實現
Java+SSM+JSP實現圖書管理系統
Java+SSM+JSP實現寵物商城系統
Java+SSM+JSP實現超市訂單系統
Java+SSM+JSP實現網上考試系統
Java+SSM+JSP實現學生成績管理系統
Java+SSM+JSP實現學生信息管理系統
Java+SSM+Bootstrap+Maven實現網上書城系統
Java+SSM+Bootstrap+Maven實現學校教務管理系統
Java+SSH系統系列實現
Java+SSH+Bootstrap實現在線考試系統
Java+SSH+JSP實現醫院在線掛號系統
Java+Springboot系統系列實現
Java+Springboot+H-ui+Maven實現營銷管理系統
Java+Springboot+Bootstrap+Maven實現網上商城系統
Java+Springboot+Bootstrap+Maven實現景區旅游管理系統
JavaSwing+Mysql系統系列實現
Java+Swing實現斗地主游戲
Java+Swing實現圖書管理系統
Java+Swing實現醫院管理系統
Java+Swing實現考試管理系統
Java+Swing實現酒店管理系統
Java+Swing實現超市管理系統
Java+Swing實現網上訂餐系統
Java+Swing實現電影購票系統
Java+Swing實現倉庫管理系統1
Java+Swing實現倉庫管理系統2
Java+Swing實現進銷存管理系統
Java+Swing實現通訊錄管理系統
Java+Swing實現停車場管理系統
Java+Swing實現員工工資管理系統
Java+Swing實現學生宿舍管理系統
Java+Swing實現學生選課管理系統
Java+Swing實現學生成績管理系統
Java+Swing實現學校教材管理系統
Java+Swing實現學校教務管理系統
Java+Swing實現企業人事管理系統
Java+Swing實現電子相冊管理系統
Java+Swing實現學生信息管理系統1
Java+Swing實現學生信息管理系統2
Java+Swing實現自助取款機(ATM)系統
JavaSwing+Txt系統系列實現
Java+Swing實現超市管理系統-TXT存儲信息
Java+Swing實現寵物商店管理系統-TXT存儲信息
Java+Swing實現自助取款機(ATM)系統-TXT存儲信息
2.獲取源碼
這個代碼的原項目創作是一個非常優秀的小哥哥,多才多藝,技術水平非常不錯,他自己有博客。
Rawchen的博客
Rawchen的Gitbub
免費獲取源碼
企業人事管理系統EPMS
3.備注
如有侵權請聯系我刪除。
獻上你寶貴的贊,你會越來越幸運!
總結
以上是生活随笔為你收集整理的Eclipse+Java+Swing实现企业人事管理系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SuperMemo概念初识(摘录)
- 下一篇: java信息管理系统总结_java实现科