员工管理(JDBC)
2015-09-21 21:52
337 查看
public class Employee { protected String ID; //员工编号 protected String name; //员工姓名 protected String position; //员工职务 protected int holiday; //请假天数 protected double salary; //基本工资 public Employee(String iD, String name, String position, int holiday, double salary) { super(); ID = iD; this.name = name; this.position = position; this.holiday = holiday; this.salary = salary; } // "编号:"+ID+" 姓名:"+name+" 职位:" // +position+" 请假天数:"+holiday+" 工资:"+salary; @Override public String toString() { return "编号:"+ID+" 姓名:"+name+" 职位:" +position+" 请假天数:"+holiday+" 工资:"+salary; } public Employee() { super(); // TODO Auto-generated constructor stub } /** * 工资计算 */ public double sumSalary(double salary,int holiday) { return salary; } public String getID() { return ID; } public void setID(String iD) { ID = iD; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPosition() { return position; } public void setPosition(String position) { this.position = position; } public int getHoliday() { return holiday; } public void setHoliday(int holiday) { this.holiday = holiday; } public double getSalary() { return salary; } public void setSalary(double salary) { this.salary = salary; } }
import java.text.DecimalFormat; /** * 普通员工 * @author * */ public class CommonEmployee extends Employee { public CommonEmployee() { super(); // TODO Auto-generated constructor stub } public CommonEmployee(String iD, String name, String position, int holiday, double salary) { super(iD, name, position, holiday, salary); // TODO Auto-generated constructor stub } /** * 工资计算 */ @Override public double sumSalary(double salary,int holiday) { double s=salary+salary*0.1+salary*0.5+200-(salary/30)*holiday; DecimalFormat df=new DecimalFormat("#.00"); String salary1=df.format(s); double salary2 = Double.valueOf(salary1); return salary2; } }
import java.text.DecimalFormat; /** * 经理 * @author * */ public class Manager extends Employee { public Manager() { super(); // TODO Auto-generated constructor stub } public Manager(String iD, String name, String position, int holiday, double salary) { super(iD, name, position, holiday, salary); // TODO Auto-generated constructor stub } /** * 工资计算 */ @Override public double sumSalary(double salary,int holiday) { double s=salary+salary*0.2+salary*0.5+500-salary/(31-holiday)*holiday; DecimalFormat df=new DecimalFormat("#.00"); String salary1=df.format(s); double salary2 = Double.valueOf(salary1); return salary2; } }
import java.text.DecimalFormat; /** * 董事 * @author * */ public class Director extends Employee { public Director() { super(); // TODO Auto-generated constructor stub } public Director(String iD, String name, String position, int holiday, double salary) { super(iD, name, position, holiday, salary); // TODO Auto-generated constructor stub } /** * 工资计算 */ @Override public double sumSalary(double salary,int holiday) { double s=salary+salary*0.08+salary*0.3+2000+3000-salary/(31-holiday)*holiday; DecimalFormat df=new DecimalFormat("#.00"); String salary1=df.format(s); double salary2 = Double.valueOf(salary1); return salary2; } }
数据库连接及关闭
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class DBConnection { // protected static String dbClassName = "com.miccrosoft.sqlserver.jdbc.SQLServerDriver"; // protected static String dbUrl = "jdbc:sqlserver://localhost:1433;DatabaseName=Emploee"; private static String dbClassName="com.mysql.jdbc.Driver"; protected static String dbUser = "root"; protected static String dbPwd = "123456"; private static String dbName="Emploee"; private static Connection conn = null; public static Connection getDBconnection() { String urll="jdbc:mysql://localhost/"+dbName; String url2="?user="+dbUser+"&password="+dbPwd; String url3="&useUnicode=true&charaterEncoding=GB2312"; String url=urll+url2+url3; try { Class.forName(dbClassName); conn=DriverManager.getConnection(url); return conn; } catch (Exception e) { e.printStackTrace(); } return null; } public static void closeDB(Connection conn,PreparedStatement pstm,ResultSet rs) { try { if(rs!=null) rs.close(); if(pstm!=null)pstm.close(); if(conn!=null)conn.close(); } catch (SQLException e) { e.printStackTrace(); } } }
操作管理
<span style="font-size:18px;">import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Scanner; public class Operation { private static Connection conn =null; private static PreparedStatement ps = null; private static ResultSet rs = null; static Scanner sc = new Scanner(System.in); static String ID; static String name; static String name1; static String position; static int holiday; static double salary; static double salary1; static int n; // 提示 public static int Prompt() { System.out.println("|-----------|"); System.out.println("|---1 增加---|"); System.out.println("|---2 删除---|"); System.out.println("|---3 修改---|"); System.out.println("|---4 查询---|"); System.out.println("|--5 查询所有-|"); System.out.println("|---0 退出---|"); System.out.println("|-----------|"); System.out.println("请选择业务:"); n = sc.nextInt(); return n; } /** * 插入 */ public static void Add() { System.out.println(); System.out.println("请输入员工编号:"); ID = sc.next(); System.out.println("请输入员工姓名:"); name = sc.next(); System.out.println("请输入员工职位(普通员工,经理,董事长):"); position = sc.next(); System.out.println("请输入员工请假天数:"); holiday = sc.nextInt(); System.out.println("请输入员工基本工资:"); salary = sc.nextDouble(); if (position.equals("普通员工")) { Employee common = new CommonEmployee(); salary1 = common.sumSalary(salary, holiday); } else if (position.equals("经理")) { Employee common = new Manager(); salary1 = common.sumSalary(salary, holiday); } else if (position.equals("董事长")) { Employee common = new Director(); salary1 = common.sumSalary(salary, holiday); } else { System.out.println("没有该职位,请重新输入"); position = sc.next(); } String query_sql = "select * from emp_info where id = ?"; try { conn = DBConnection.getDBconnection(); ps=conn.prepareStatement(query_sql); ps.setString(1, ID); rs = ps.executeQuery(); if (rs.next()) { System.out.println("该员工编号已存在!!"); System.out.println("请重新输入"); Add(); }else { String insert_sql="insert into emp_info value(?,?,?,?,?)"; try { conn = DBConnection.getDBconnection(); ps = conn.prepareStatement(insert_sql); ps.setString(1, ID); ps.setString(2, name); ps.setString(3, position); ps.setInt(4, holiday); ps.setDouble(5, salary1); int m= ps.executeUpdate(); if (m==1) { System.out.println("添加成功!!"); } } catch (SQLException e) { e.printStackTrace(); }finally{ System.out.println("编号:"+ID+" 姓名:"+name+" 职位:"+position+" 请假天数:"+holiday+" 工资:"+salary1); DBConnection.closeDB(conn, ps, rs); } } } catch (SQLException e) { e.printStackTrace(); }finally{ DBConnection.closeDB(conn, ps, rs); } } /** * 按姓名查询 * @return */ @SuppressWarnings("finally") public static boolean find() { System.out.println("请输入员工姓名:"); name = sc.next(); String find_sql="select * from emp_info where name =?"; boolean flag=false; try { conn = DBConnection.getDBconnection(); ps=conn.prepareStatement(find_sql); ps.setString(1, name); rs = ps.executeQuery(); if (rs.next()) { System.out.println("查询成功!!"); System.out.println("编号:"+rs.getString(1)+" 姓名:"+rs.getString(2)+ " 职位:"+rs.getString(3)+" 请假天数:"+rs.getInt(4)+" 工资:"+rs.getDouble(5)); flag = true; }else { flag = false; System.out.println("没有该记录!!!"); } } catch (SQLException e) { e.printStackTrace(); }finally{ DBConnection.closeDB(conn, ps, rs); return flag; } } /** * 查询全部 */ public static void findAll() { conn = DBConnection.getDBconnection(); String findAll_sql="select * from emp_info"; try { ps = conn.prepareStatement(findAll_sql); rs = ps.executeQuery(); while (rs.next()) { System.out.println("编号:"+rs.getString(1)+" 姓名:"+rs.getString(2)+ " 职位:"+rs.getString(3)+" 请假天数:"+rs.getInt(4)+" 工资:"+rs.getDouble(5)); } } catch (SQLException e) { e.printStackTrace(); }finally{ DBConnection.closeDB(conn, ps, rs); } } /** * 删除 */ public static void Del() { System.out.println("请输入员工姓名:"); name = sc.next(); String find_sql="select * from emp_info where name =?"; try { conn = DBConnection.getDBconnection(); ps = conn.prepareStatement(find_sql); ps.setString(1, name); rs = ps.executeQuery(); if (rs.next()) { String delete_sql = "delete from emp_info where name = ?"; try { conn = DBConnection.getDBconnection(); ps = conn.prepareStatement(delete_sql); ps.setString(1, name); int m= ps.executeUpdate(); if (m==1) { System.out.println("删除成功!!"); System.out.println("编号:"+rs.getString(1)+" 姓名:"+rs.getString(2)+ " 职位:"+rs.getString(3)+" 请假天数:"+rs.getInt(4)+" 工资:"+rs.getDouble(5)); } } catch (Exception e) { e.printStackTrace(); }finally{ DBConnection.closeDB(conn, ps, rs); } }else { System.out.println("没有该员工!!!"); } } catch (SQLException e) { e.printStackTrace(); }finally{ DBConnection.closeDB(conn, ps, rs); } } /** * 修改 */ public static void Update() { System.out.println("请输入员工姓名:"); name1 = sc.next(); String find_sql="select * from emp_info where name =?"; try { conn = DBConnection.getDBconnection(); ps = conn.prepareStatement(find_sql); ps.setString(1, name1); rs = ps.executeQuery(); if (rs.next()) { System.out.println("请输入修改后的信息"); System.out.println("请输入员工编号:"); ID = sc.next(); System.out.println("请输入员工姓名:"); name = sc.next(); System.out.println("请输入员工职位(普通员工,经理,董事长):"); position = sc.next(); System.out.println("请输入员工请假天数:"); holiday = sc.nextInt(); System.out.println("请输入员工基本工资:"); salary = sc.nextDouble(); if (position.equals("普通员工")) { Employee common = new CommonEmployee(); salary1 = common.sumSalary(salary, holiday); } else if (position.equals("经理")) { Employee common = new Manager(); salary1 = common.sumSalary(salary, holiday); } else if (position.equals("董事长")) { Employee common = new Director(); salary1 = common.sumSalary(salary, holiday); } else { System.out.println("没有该职位,请重新输入"); position = sc.next(); } String query_sql = "select * from emp_info where id = ?"; try { conn = DBConnection.getDBconnection(); ps=conn.prepareStatement(query_sql); ps.setString(1, ID); rs = ps.executeQuery(); if (rs.next()) { System.out.println("该员工编号已存在!!"); System.out.println("请重新输入"); Add(); }else { String delete_sql = "update emp_info set ID = ? ,name = ? ,position = ? , holiday = ?, salary = ? where name = ?"; try { conn = DBConnection.getDBconnection(); ps = conn.prepareStatement(delete_sql); ps.setString(1, ID); ps.setString(2, name); ps.setString(3, position); ps.setInt(4, holiday); ps.setDouble(5, salary1); ps.setString(6, name1); int m= ps.executeUpdate(); if (m==1) { System.out.println("修改成功!!"); System.out.println("编号:"+ID+" 姓名:"+name+" 职位:"+position+ " 请假天数:"+holiday+" 工资:"+salary1); }else{ System.out.println("修改失败!!!"); } } catch (Exception e) { e.printStackTrace(); }finally{ DBConnection.closeDB(conn, ps, rs); } } } catch (SQLException e) { e.printStackTrace(); }finally{ DBConnection.closeDB(conn, ps, rs); } }else { System.out.println("没有该员工!!!"); System.out.println("请重新输入要修改的信息"); Update(); } } catch (SQLException e) { e.printStackTrace(); }finally{ DBConnection.closeDB(conn, ps, rs); } } }</span>
测试类
public class TestEMP { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int n; int flag=0; do { n = Operation.Prompt(); switch (n) { case 1: Operation.Add(); flag=1; break; case 2: Operation.Del(); flag=1; break; case 3: Operation.Update(); flag=1; break; case 4: Operation.find(); flag=1; break; case 5: Operation.findAll(); flag=1; break; case 0: System.out.println("退出系统!!!"); flag=0; break; default: break; } } while (flag==1); } }
相关文章推荐
- AFNetworking https自签名证书 -1012 解决方案
- 多段选择开关和滑块(事件驱动型)
- 项目中EditView,WebView焦点的问题
- Unity3d 开发(二)Unity 制作可发布插件
- 持续集成CI(二)Jenkins
- 从有道云笔记迁移到csdn了,希望在csdn上记录下学习的点点滴滴
- Java HashMap的死循环
- Xcode7 网络请求报错:The resource could not be loaded because
- 这几天的总结
- iOS视图懒加载问题
- redis实战之使用redis实现排行榜
- 精度与分辨率是一回事吗
- Service
- javascript设置字体样式
- R中用markdown+knitr生成html文件
- 为什么要计划生育
- CoderCup解题报告
- 集合(对于集合学习后的个人总结和分析)
- css里面的颜色
- MITK中的几个predicate类