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);
}
}