您的位置:首页 > 其它

员工管理(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);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: