【Java实践 I】简易人事管理系统
来源:互联网 发布:jquery.min.js冲突 编辑:程序博客网 时间:2024/06/15 00:27
源码和数据库:https://github.com/xuna123/java-study
推荐一个界面设计特别好用的插件 : windows builderhttp://blog.csdn.net/xunalove/article/details/72621194
项目运行结果
环境
操作系统:WIN7
编译器 : eclipse
界面设计工具:windows builder
数据库 : Access
模板介绍
简易人事管理系统麻雀虽小,五脏俱全, 完成人员基本信息的操作,重要包含5个模块。
- 登录界面(系统的入口)
- 包含注册,登录的验证
- 基本人员信息管理(人员基本信息操作)
- 添加,修改,删除,查询
- 部门管理(部门的操作)
- 添加,修改,删除,查询
- 人员调动管理 (记录人员调动的信息)
- 人员调动
- 调动历史查询
- 人员考核记录 (记录人员考核的情况)
- 人员考核
- 调动历史查询
- 劳资管理(记录人员薪资的变化情况)
- 劳资分配管理
- 劳资历史查询
数据库设计
主要包括用户登录注册表User,人员信息表Person, 部门表Dept , 人员历史信息表 Histrjn, 考核历史信息表Test,薪资历史信息表Salary。
功能设计
1. 简易验证码如何实现?
答:通过随机函数产生两个10~20范围的数字,计算出结果,登录是判断当前文本框输入的内容是否和正确答案一致。
对应代码:
//简易验证码设计 int max=20,min=10; Random random = new Random(); a = random.nextInt(max)%(max-min+1) + min; b = random.nextInt(max)%(max-min+1) + min; c = a+b; String temp = Integer.toString(a) + " + " + Integer.toString(b) + " = ?"; textField_2.setText(temp) ;
2. 如何判断你输入的用户名和密码正确?
答:把输入的用户名当做已知条件,在数据库中查找对应的password(类似于 y = 3x,给你x,求y),判断数据库中的password是否和输入文本框中的密码一直。
String username =null,password=null,check=null; int n; username = textField.getText().trim(); password = passwordField .getText().trim(); check = textField_3.getText().trim(); n = Integer.parseInt(check); String sql = "select password from User where username='"+username+"'"; Connection con = a1.getConn();//此处为通过自己写的方法getConn()获得连接 try{ Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(sql); //ResultSet类,用来存放获取的结果集!! String temp=null; while(rs.next()) { temp = rs.getString(1); } System.out.println("n= "+n); System.out.println("c= "+ c); if(temp.equals(password)) { if(n == c) { HrMain window = new HrMain(); window.frame.setVisible(true); } else { JOptionPane.showMessageDialog(null, "验证码错误"); } } else { JOptionPane.showMessageDialog(null, "用户名或者密码不正确"); } rs.close(); con.close(); } catch(SQLException e1) { e1.printStackTrace(); }
答:把输入的用户名当做已知条件,在数据库中查找对应的
3. 修改或者删除部门时,若部门下有人员应该如何处理?
答:对于修改来说,修改部门相应的修改部门下的人员的部门信息。对于删除来说,若删除的部门下有人则取消删除。修改具体实现步骤为:选中部门,根据部门id查询人员信息表,如表中返回有值,则更新人员信息表,反之直接修改。删除部门思路类似。
if(cmd.equals("修改")) { String DeptID = textField.getText().trim(); String B_Dept = textField_1.getText().trim(); String S_Dept = textField_2.getText().trim(); String res=""; int i = 0; Connection con = a.getConn(); String sql_old = "select * from Dept where DeptID="+DeptID; try { Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(sql_old); //ResultSet类,用来存放获取的结果集!! while(rs.next()){ res+=rs.getString(1); res+="-"; res+=rs.getString(2); res+="-"; res+=rs.getString(3);} System.out.println("res="+res); String sql = "update Dept set DeptID=?,B_Dept=?,S_Dept=? where DeptID='"+DeptID+"'"; String sql2 ="update Person set DeptID=? where DeptID='" + res +"'"; PreparedStatement pst = con.prepareStatement(sql); pst.setString(1, DeptID); pst.setString(2, B_Dept); pst.setString(3, S_Dept); i = pst.executeUpdate(); System.out.println("sql="+i); PreparedStatement pst1 = con.prepareStatement(sql2); pst1.setString(1,DeptID+"-"+B_Dept+"-"+S_Dept); System.out.println("sql2="+sql2); i = pst1.executeUpdate(); System.out.println("sql2="+i); JOptionPane.showMessageDialog(null, "修改成功"); } catch (Exception e1) { e1.printStackTrace(); JOptionPane.showMessageDialog(null, "失败,添加数据不完整或者重复添加等其他原因"); } System.out.println(i); }
阅读全文
0 0
- 【Java实践 I】简易人事管理系统
- Java窗体应用程序:人事管理系统
- 人事管理系统
- 人事管理系统
- 人事管理系统
- 人事管理系统
- [人事管理系统] Java打包程序 须知
- java之简易生成彩色二维码实践
- 大连之---------JAVA体系结构的人事管理系统
- Java并发编程实践 重庆大学 学习笔记 I
- java人事管理系统源代码---毕业实习(已加入数据库文件)
- 基于java web的企业人事管理系统的设计与实现
- 敏捷实践有感I
- 人事管理系统课程设计
- 公司人事管理系统
- 蓝山人事管理系统
- 企业人事管理系统
- 人事管理系统呀
- Docker简介和学习Docker资源
- 我的物联网项目(三)平台架构
- 电口光模块知识汇总
- 一个简单的例子Docker Hello World
- JavaScript 最新数组练习
- 【Java实践 I】简易人事管理系统
- Wireshark抓包练习
- 在网上搜索想要的答案的好技巧
- 【leetcode】Two Sum(unordered_map的使用)
- 运行交互式的容器
- HTTP 和 WebSocket 协议(下)
- 趣学算法系列-动态规划-实例分析
- 怎样使用Docker帮助
- UE4蓝图节点翻译---Get Parent Actor