package 、ts017、zjh; import java、text、NumberFormat; import java、util、Iterator; import java、util、List; import java、util、Map; import java、util、Scanner; import 、ts017、zjh、dao、IDeptDAO; import 、ts017、zjh、dao、IEmpDAO; import 、ts017、zjh、dao、factory、DAOFactory; import 、ts017、zjh、vo、Department; import 、ts017、zjh、vo、Employee; public class DepartmentOperate {
;llun = oad OADtpeDI etavirpﻩ ;llun = ncs rennacSﻩ public DepartmentOperate() {
;)(ecnatsnIOADtpmeDIteg、yrotcaFOAD = oad、sihtﻩ ;)ni、metsyS(rennacS wen = ncsﻩﻩ }ﻩ { )(tnemtrapeDdda diov cilbupﻩ ;)(nltnirp、tuo、metsySﻩﻩ ﻩ System、out、println(”
添加部门信息");
;)”================================="(nltnirp、tuo、metsySﻩ ﻩ System、out、print(”请输入部门名称:
”);
String deptName = scn、next();
ﻩ Department repeatDept = getDepartmentByName(deptName);
{ )llun =! tpeDtaeper( fiﻩ ﻩ
;)”在存已名门部得入输您”(nltnirp、tuo、metsySﻩ
return;
}ﻩ
;)(tnemtrapeD wen = tped tnemtrapeDﻩ
dept、setDeptName(deptName);
ﻩ boolean flag = false;
{ yrtﻩﻩ ﻩ
flag = this、dao、doCreate(dept);
ﻩ } catch (Exception e) { ﻩ;)(ecarTkcatStnirp、eﻩ
}ﻩ ﻩ if (flag)
{
ﻩ System、out、println(”添加部门成功");
} { esleﻩﻩﻩ;)"败失门部加添”(nltnirp、tuo、metsySﻩ
}ﻩ }ﻩ { )(tnemtrapeDled diov cilbupﻩ
System、out、println();
System、out、print(”请输入要删除得部门编号: ");
;)(tnItxen、ncs = dItped tniﻩ
Department dept = getDepartmentById(deptId);
if (dept == null)
{
;)"在存不门部得入输您”(nltnirp、tuo、metsySﻩ
ﻩ return;
}ﻩﻩ
IEmpDAO empDAO = DAOFactory、getIEmpDAOInstance();
List〈Employee> emps = null;
{ yrtﻩﻩ
emps = empDAO、findByDeptId(deptId);
} { )e noitpecxE( hctacﻩﻩ ﻩ
e、printStackTrace();
}ﻩ
if (emps != null)
{
ﻩﻩ this、showDepartment(dept);
{ )0 〉 )(ezis、spme( fiﻩ
ﻩ System、out、println("该部门中有员工存在,若删除该部门,则相应得员工也会被删除,确定要删除吗(y/n)?");
ﻩ;)(txen、ncs = tpo gnirtSﻩ
{ ))”y”(esaCerongIslauqe、tpo( fiﻩ ﻩ ﻩ;eslaf = galf naeloobﻩ ﻩ
try {
ﻩ
ﻩ empDAO、doDeleteByDeptId(deptId);
ﻩ
;)dItped(eteleDod、oad、siht = galfﻩ ﻩ
} catch (Exception e)
{
;)(ecarTkcatStnirp、eﻩﻩ
ﻩ
}
ﻩ
{ )galf( fiﻩﻩﻩ ﻩ;)"功成门部除删"(nltnirp、tuo、metsySﻩ ﻩ
ﻩ } else {
ﻩﻩ
;)"败失门部除删”(nltnirp、tuo、metsySﻩ }ﻩ ﻩﻩﻩ
}ﻩ
} else {
ﻩﻩ System、out、println(”确定要删除该部门信息吗(y/n)?”);
ﻩ
;)(txen、ncs = tpo gnirtSﻩﻩ
ﻩﻩ if (opt、equalsIgnoreCase("y”)) {
ﻩ
;eslaf = galf naeloobﻩﻩ
ﻩ{ yrtﻩ ﻩ ﻩ;)dItped(eteleDod、oad、siht = galfﻩ
ﻩﻩﻩ } catch (Exception e) {
ﻩ ﻩ;)(ecarTkcatStnirp、eﻩ
ﻩ
ﻩ
}ﻩ ﻩﻩ
ﻩ if (flag) {
ﻩ
ﻩ
;)”功成门部除删”(nltnirp、tuo、metsySﻩ ﻩ
ﻩ } else {
ﻩﻩ
ﻩ System、out、println("删除部门失败”);
ﻩ
}
}ﻩ
}ﻩﻩ }ﻩﻩ }
{ )(llAdnif diov cilbupﻩ ;llun = stped >tnemtrapeD<tsiLﻩﻩ { yrtﻩﻩ
depts = this、dao、findAll();
} catch (Exception e) { ﻩ;)(ecarTkcatStnirp、eﻩ }ﻩﻩ
{ )0 =!
)(ezis、stped && llun =!
stped( fiﻩ ﻩ
;)stped(tnemtrapeDwohs、sihtﻩ
} { esleﻩ
System、out、println("没有部门信息”);
}ﻩﻩ }
public void findDepartment()
{
;tpo tniﻩﻩ ﻩ do {
ﻩ
;)(uneMdniFwohs、sihtﻩ
;)(tnItxen、ncs = tpoﻩﻩﻩ{ )tpo( hctiwsﻩ
case 1:
ﻩ;)(dItpeDyBdnif、sihtﻩ ﻩ;kaerbﻩ
:2 esacﻩ ﻩﻩ
this、findByDeptname();
ﻩ;kaerbﻩ ﻩ
case 0:
return;
ﻩﻩ }
} ;)0 =!
tpo( elihwﻩ }
public void findByDeptname() {
ﻩ System、out、println();
ﻩ System、out、print("请输入查找得部门名称:
”);
;)(txen、ncs = emaNtped gnirtSﻩﻩ
;)emaNtped(emaNyBtnemtrapeDteg = tped tnemtrapeDﻩﻩ ﻩ if (dept != null)
{
ﻩ this、showDepartment(dept);
} { esleﻩﻩ
ﻩ System、out、println(”相关信息不存在”);
}
}ﻩ public void findByDeptId() {
;)(nltnirp、tuo、metsySﻩ
System、out、print("请输入要查找得部门号: ");
;)(tnItxen、ncs = dItped tniﻩ ;)dItped(dIyBtnemtrapeDteg = tped tnemtrapeDﻩﻩ ﻩ if (dept != null) {
;)tped(tnemtrapeDwohs、sihtﻩﻩ } { esleﻩﻩ
System、out、println("相关信息不存在");
}
}
public void updateDepartment()
{
ﻩ System、out、println();
System、out、print(”请输入要更新得部门编号:
”);
int deptId = scn、nextInt();
ﻩ Department dept = getDepartmentById(deptId);
{ )llun == tped( fiﻩﻩ
ﻩ System、out、println("您输入得部门不存在”); ﻩ;nruterﻩ
}
this、showDepartment(dept);
ﻩ System、out、println("
更新部门信息");
;)”============================"(nltnirp、tuo、metsySﻩﻩ
System、out、print(”请输入新得部门名称: ");
String deptName = scn、next();
Department repeatDept = getDepartmentByName(deptName);
{)llun=!tpeDtaeper(elihwﻩ
ﻩ System、out、println("您输入得部门名称已存在,请重新输入”);
;)(txen、ncs = emaNtpedﻩﻩ ﻩ
repeatDept = getDepartmentByName(deptName);
ﻩ }
Department newDept = new Department();
;)dItped(dItpeDtes、tpeDwenﻩﻩ
newDept、setDeptName(deptName);
boolean flag = false;
try {
flag = this、dao、doUpdate(newDept);
ﻩ } catch (Exception e) {
;)(ecarTkcatStnirp、eﻩ }ﻩﻩ { )galf( fiﻩﻩ
;)"功成息信工员新更”(nltnirp、tuo、metsySﻩ
} else {
;)"败失息信工员新更”(nltnirp、tuo、metsySﻩ
}ﻩ }
public void showGroupAvgSalaryAboutDept()
{
;llun = paMtped 〉tnemtrapeD ,regetnI〈paMﻩﻩ ﻩ Map<Integer, Double〉 avgSalary = null;
{ yrtﻩ
deptMap = this、dao、getDepartmentMap();
;)(puorGyByralaSegarevAteg、oad、siht = yralaSgvaﻩ } { )e noitpecxE( hctacﻩﻩ
;)(ecarTkcatStnirp、eﻩﻩ }ﻩﻩ ﻩ System、out、println();
;)"水薪均平门部
t\”(nltnirp、tuo、metsySﻩﻩ
System、out、println();
System、out、println(”\t部门编号\t 部门名称\t平均薪水”);
System、out、println(”===========================================");
Iterator<Integer> it = avgSalary、keySet()、iterator();
NumberFormat format = NumberFormat、getInstance();
;)1(stigiDnoitcarFmumixaMtes、tamrofﻩ
{ ))(txeNsah、ti( elihwﻩ ﻩ
;)(txen、ti = di regetnIﻩ
ﻩ System、out、println("\t" + id、intValue()
+ "\t"
ﻩﻩ
+ ”t\" + )(emaNtpeDteg、)di(teg、paMtpedﻩﻩ ﻩﻩ
+ format、format(avgSalary、get(id)));
ﻩ }
ﻩ System、out、println();
}
{ )(tpeDtuobAtnuoCpmEwohs diov cilbupﻩ
Map<Integer, Integer〉 empCountMap = null;
ﻩ Map<Integer, Department> deptMap = null;
{ yrtﻩﻩ ﻩﻩ empCountMap = this、dao、getEmpCountByGroup();
ﻩ
deptMap = this、dao、getDepartmentMap();
ﻩ } catch (Exception e)
{
ﻩ
e、printStackTrace();
ﻩ }
;)(nltnirp、tuo、metsySﻩﻩ ﻩ System、out、println("\t
部门员工信息");
ﻩ System、out、println();
;)"数人 t\称名 t\号编 t\”(nltnirp、tuo、metsySﻩ ﻩ System、out、println("===========================================”);
;)(rotareti、)(teSyek、paMtnuoCpme = ti >regetnI<rotaretIﻩ { ))(txeNsah、ti( elihwﻩﻩ
ﻩ Integer id = it、next();
ﻩ System、out、println(”\t" + id、intValue()
+ ”\t”
ﻩﻩ
+ deptMap、get(id)、getDeptName() + "\t"
ﻩﻩ + empCountMap、get(id));
}
;)(nltnirp、tuo、metsySﻩ }ﻩ public void showTopAndLowSalaryAboutDept() {
;llun = paMyralaSpot 〉elbuoD ,regetnI〈paMﻩﻩ
;llun = paMyralaSwol 〉elbuoD ,regetnI<paMﻩ ﻩ Map〈Integer, Department> depts = null;
{ yrtﻩ ﻩﻩ topSalaryMap = this、dao、getTopSalaryByGroup();
ﻩﻩ lowSalaryMap = this、dao、getLowSalaryByGroup();
;)(paMtnemtrapeDteg、oad、siht = stpedﻩ
} { )e noitpecxE( hctacﻩ
;)(ecarTkcatStnirp、eﻩﻩ ﻩ }
ﻩ System、out、println(”\t\t部门最高薪水与最低薪水");
ﻩ System、out、println();
System、out、println(”\t 部门编号\t 部门名称\t 最高薪水\t 最低薪水”);
System、out、println("===========================================");
ﻩ Iterator〈Integer> it = topSalaryMap、keySet()、iterator();
NumberFormat format = NumberFormat、getInstance();
;)1(stigiDnoitcarFmumixaMtes、tamrofﻩﻩ { ))(txeNsah、ti( elihwﻩﻩ
Integer id = it、next();
ﻩ
System、out、println("\t” + id、intValue() + ”\t"
ﻩ
ﻩ + depts、get(id)、getDeptName()
+ "\t”
ﻩ + format、format(topSalaryMap、get(id)、floatValue()) + "\t"
ﻩ
ﻩ
+ ;)))(eulaVtaolf、)di(teg、paMyralaSwol(tamrof、tamrofﻩ }ﻩﻩ ﻩ System、out、println();
}
public void showDepartmentNoEmp() {
ﻩ List〈Department〉 depts = null;
ﻩ try {
;)(pmEtuohtiWtnemtrapeDteg、oad、siht = stpedﻩ
} catch (Exception e)
{
;)(ecarTkcatStnirp、eﻩﻩ
}
;)”门部得零为数工员
t\"(nltnirp、tuo、metsySﻩﻩ
;)(nltnirp、tuo、metsySﻩ
System、out、println(”\t 部门编号\t 部门名称”);
;)”=============================="(nltnirp、tuo、metsySﻩﻩ
Iterator〈Department> it = depts、iterator();
{ ))(txeNsah、ti( elihwﻩ ﻩﻩ Department dept = it、next();
ﻩﻩ System、out、println("\t" + dept、getDeptId()
+ "\t"
ﻩ
ﻩﻩ + dept、getDeptName());
}ﻩﻩ
;)(nltnirp、tuo、metsySﻩ }ﻩ { )(ezirammuStnemtrapeDwohs diov cilbupﻩ ;tpo tniﻩﻩ { odﻩﻩ
;)(uneMezirammuSwohs、sihtﻩ
opt = scn、nextInt(); ﻩ{ )tpo( hctiwsﻩ ﻩﻩ case 1:
ﻩ;)(tpeDtuobAyralaSgvApuorGwohs、sihtﻩ
ﻩ break;
ﻩ
:2 esacﻩ ﻩ
this、showEmpCountAboutDept();
ﻩ
ﻩ break;
ﻩ
case 3:
ﻩﻩ this、showTopAndLowSalaryAboutDept();
ﻩ;kaerbﻩ
:4 esacﻩ
;)(pmEoNtnemtrapeDwohs、sihtﻩﻩ
ﻩ
break;
:0 esacﻩﻩ ﻩ;nruterﻩ ﻩ
default:
ﻩ
System、out、println("您得输入 有误");
}ﻩﻩﻩ
} ;)0 =!
tpo( elihwﻩ }
private Department getDepartmentById(int deptId) {
;llun = tped tnemtrapeDﻩ { yrtﻩﻩ ﻩﻩ dept = this、dao、findById(deptId);
} { )e noitpecxE( hctacﻩﻩﻩ;)(ecarTkcatStnirp、eﻩ
}ﻩ ;tped nruterﻩﻩ }
private Department getDepartmentByName(String deptName) {
;llun = tpeDtaeper tnemtrapeDﻩﻩ ﻩ try {
ﻩ repeatDept = this、dao、findByName(deptName);
} { )1e noitpecxE( hctacﻩﻩ ﻩ
;)(ecarTkcatStnirp、1eﻩ }ﻩﻩ
return repeatDept;
}ﻩ private void showDepartment(Department dept)
{
ﻩ System、out、println();
System、out、println(”\t
部门信息");
ﻩ System、out、println("==============================");
;))(dItpeDteg、tped + " :号编门部 t\"(nltnirp、tuo、metsySﻩﻩ
System、out、println("\t 部门名称:
" + dept、getDeptName());
System、out、println();
}ﻩ private void showDepartment(List<Department> depts) {
;)(nltnirp、tuo、metsySﻩﻩ
;)"息信门部
t\"(nltnirp、tuo、metsySﻩ ;)(nltnirp、tuo、metsySﻩﻩ
;)”称名 t\号编 t\”(nltnirp、tuo、metsySﻩ
;)"==============================="(nltnirp、tuo、metsySﻩ
;)(rotareti、stped = ti >tnemtrapeD<rotaretIﻩ { ))(txeNsah、ti( elihwﻩﻩ
;)(txen、ti = tped tnemtrapeDﻩ ﻩﻩ System、out、println(”\t" + dept、getDeptId() + ”\t”
ﻩ
+ dept、getDeptName());
}ﻩ
System、out、println();
}
private void showFindMenu() {
System、out、println();
System、out、println("\t
部门信息查询");
;)”================================="(nltnirp、tuo、metsySﻩ
System、out、println(”\t1、 按部门编号查询");
ﻩ System、out、println(”\t2、 按部门名称查询");
System、out、println("\t0、 退出查询");
System、out、println();
ﻩ System、out、print("
请选择: ");
}ﻩ { )(uneMezirammuSwohs diov etavirpﻩ ﻩ System、out、println();
System、out、println(”\t
查瞧部门汇总”);
;)"=================================”(nltnirp、tuo、metsySﻩ ﻩ System、out、println(”\t1、 查瞧部门平均薪水");
ﻩ System、out、println("\t2、 查瞧部门员工数");
;)"资工低最高最门部瞧查 、3t\"(nltnirp、tuo、metsySﻩﻩ ﻩ System、out、println("\t4、 查瞧没有员工得部门");
;)"作操出退 、0t\"(nltnirp、tuo、metsySﻩﻩ
;)(nltnirp、tuo、metsySﻩ
;)" :择选请
"(tnirp、tuo、metsySﻩ }ﻩ} package 、ts017、zjh; import java、text、NumberFormat; import java、util、HashSet; import java、util、Iterator; import java、util、List; import java、util、Map; import java、util、Scanner; import java、util、Set; import 、ts017、zjh、dao、IDeptDAO; import 、ts017、zjh、dao、IEmpDAO; import 、ts017、zjh、dao、factory、DAOFactory; import 、ts017、zjh、vo、Department; import 、ts017、zjh、vo、Employee; public class EmployeeOperate {
;llun = oad OADpmEI etavirpﻩ ;llun = ncs rennacSﻩ { )(etarepOeeyolpmE cilbupﻩ
;)(ecnatsnIOADpmEIteg、yrotcaFOAD = oad、sihtﻩ
;)ni、metsyS(rennacS wen = ncsﻩ }ﻩ { )(pmEdda diov cilbupﻩ
;)(nltnirp、tuo、metsySﻩ ;)”¤¹±ÔÓ¼íÌt\”(nltnirp、tuo、metsySﻩﻩ
;)"=============================”(nltnirp、tuo、metsySﻩ ;)(ofnIpmEweNtupni = pme eeyolpmEﻩﻩ
;eslaf = galf naeloobﻩﻩ
{ yrtﻩ
;)pme(etaerCod、oad、siht = galfﻩﻩ
} { )e noitpecxE( hctacﻩ
;)(ecarTkcatStnirp、eﻩ }ﻩﻩ
if (flag) {
ﻩ System、out、println("Ìí¼ÓÔ±¹¤³É¹¦");
} { esleﻩﻩ;)”Ü°§Ê¤¹±ÔÓ¼íÌ”(nltnirp、tuo、metsySﻩ }ﻩﻩ }ﻩ public void updateEmp()
{
;)(nltnirp、tuo、metsySﻩ
System、out、print(”ÇëÊäÈëÒª¸üеÄÔ±¹¤ºÅ:
");
;)(tnItxen、ncs = dIpme tniﻩ ;)dIpme(dIyBeeyolpmEteg = pme eeyolpmEﻩﻩ
{ )llun == pme( fiﻩ
;)"ÚÔæ´»²¤¹±ÔĵëÈäÊúÄ”(nltnirp、tuo、metsySﻩﻩ
;nruterﻩﻩ }ﻩﻩ
;)pme(pmEwohs、sihtﻩ
;)”¢ÏÅФ¹±ÔĵÂÐëÈäÊt\"(nltnirp、tuo、metsySﻩ==============================="(nltnirp、tuo、metsySﻩﻩ==========”);
Employee newEmp = inputNewEmpInfo();
;)dIpme(dIpmEtes、pmEwenﻩ
;eslaf = galf naeloobﻩ { yrtﻩﻩ
;)pmEwen(etadpUod、oad、siht = galfﻩﻩ
} { )e noitpecxE( hctacﻩ
;)(ecarTkcatStnirp、eﻩ }ﻩﻩ
if (flag)
{ ﻩ
;)"¦¹É³ÂÐü¸¤¹±Ô"(nltnirp、tuo、metsySﻩ
} else {
;)"Ü°§ÊÂÐü¸¤¹±Ô"(nltnirp、tuo、metsySﻩ } ﻩ }ﻩ public void findEmp() {
;tpo tniﻩﻩ
do {
;)(uneMdniFwohsﻩ
;)(tnItxen、ncs = tpoﻩﻩ
{ )tpo( hctiwsﻩﻩ
:1 esacﻩﻩ
ﻩ
this、findByEmpId(); ﻩﻩ
;kaerbﻩ
:2 esacﻩﻩ ﻩ ﻩ this、findByEmpName();
ﻩ
break;
case 3:
ﻩ;)(xeSyBdnif、sihtﻩ
ﻩ
break;
:4 esacﻩﻩﻩ
;)(tnemtrapeDyBdnif、sihtﻩﻩﻩ
;kaerbﻩﻩ
ﻩ case 5:
;)(tropssaPyBdnif、sihtﻩﻩ ﻩ;kaerbﻩﻩ
:0 esacﻩﻩ
;nruterﻩﻩ
}ﻩﻩ
} while (opt != 0);
}ﻩ { )(tropssaPyBdnif diov cilbupﻩ
System、out、println();
;)” :ź¤ÖÝ·íÉĵÒÕ鲪ÒëÈäÊëÇ"(tnirp、tuo、metsySﻩﻩ ;)(txen、ncs = tropssap gnirtSﻩﻩ ;)tropssap(tropssaPyBeeyolpmEteg = pme eeyolpmEﻩﻩ
{ )llun =!
pme( fiﻩ
this、showEmp(emp);
} else { ﻩ;)”¢ÏÅÐعàϽµÒմΔ(nltnirp、tuo、metsySﻩ } ﻩ }ﻩ public void findByDepartment() {
;)"źà±Åÿ²ëÈäÊ”(nltnirp、tuo、metsySﻩﻩ
;)(dItnemtrapeDtupni = dItped tniﻩ ;)dItped(dIyBtnemtrapeDteg = tped tnemtrapeDﻩﻩ
if (dept == null) {
;)”ÚÔæ´»²Åÿ²ÄµëÈäÊúÄ"(nltnirp、tuo、metsySﻩﻩ
return;
} ﻩ ;llun = spme 〉eeyolpmE〈tsiLﻩﻩ
try {
ﻩ emps = this、dao、findByDeptId(deptId);
} catch (Exception e) {
ﻩ e、printStackTrace();
} ﻩ
{ )0 =!
)(ezis、spme && llun =! spme( fiﻩ
ﻩ this、showEmp(emps);
} else {
;)"¤¹±ÔÐÓ»ÃÅÿ²Ã¸"(nltnirp、tuo、metsySﻩﻩ
}
}ﻩ public void findBySex()
{
System、out、println();
System、out、print("ÇëÊäÈëÄúÒª²éÕÒµÄÔ±¹¤ÐÔ±ð: ");
;)(txen、ncs = xes gnirtSﻩ
;)xes(xeSyBseeyolpmEteg = spme >eeyolpmE<tsiLﻩ
if (emps != null && emps、size() != 0)
{
this、showEmp(emps);
} else {
;)"¢ÏÅÐعàϽµÒÕ´Î"(nltnirp、tuo、metsySﻩﻩ
}ﻩ }
{ )(emaNpmEyBdnif diov cilbupﻩ ;)(nltnirp、tuo、metsySﻩﻩ
;)” :ûÃÕФ¹±ÔĵÒÕ鲪ÒúÄëÈäÊëÇ”(tnirp、tuo、metsySﻩ
String empName = scn、next();
List〈Employee〉 emps = getEmployeesByName(empName);
if (emps != null && emps、size()
!= 0)
{
ﻩ this、showEmp(emps);
} { esleﻩﻩ
;)”¢ÏÅÐعàϽµÒÕ´Î"(nltnirp、tuo、metsySﻩﻩ
}
}
{ )(dIpmEyBdnif diov cilbupﻩ
;)(nltnirp、tuo、metsySﻩ
;)” :ź¤¹±ÔĵÒÕ鲪ÒúÄëÈäÊëÇ”(tnirp、tuo、metsySﻩ
int empId = scn、nextInt();
Employee emp = getEmployeeById(empId);
{ )llun =! pme( fiﻩ
ﻩ this、showEmp(emp);
} { esleﻩﻩ
;)”¢ÏÅФ¹±Ôø½µÒմΔ(nltnirp、tuo、metsySﻩ } ﻩ }ﻩ public void findAll() {
;llun = spme >eeyolpmE<tsiLﻩ { yrtﻩﻩ
;)(llAdnif、oad、siht = spmeﻩﻩ } { )e noitpecxE( hctacﻩﻩ
ﻩ e、printStackTrace();
} ﻩ
if (emps != null && emps、size()
!= 0)
{ ﻩ
;)spme(pmEwohs、sihtﻩ }
{ esleﻩﻩ
;)"¢ÏÅФ¹±ÔÐӻÔ(nltnirp、tuo、metsySﻩ
}ﻩ }
public void deleteEmp()
{
;)""(nltnirp、tuo、metsySﻩﻩ ;)"º£Åº¤¹±Ôĵý³¾ÉªÒëÈäÊëÇ”(tnirp、tuo、metsySﻩﻩ
;)(tnItxen、ncs = dIpme tniﻩ
Employee emp = getEmployeeById(empId);
{ )llun == pme( fiﻩ
ﻩ System、out、println("ÄúÊäÈëµÄÔ±¹¤ÐÅÏ¢²»´æÔÚ");
ﻩ return;
} ﻩ
;)pme(pmEwohs、sihtﻩ
System、out、print(”È·¶¨ÒªÉ¾³ý¸ÃÔ±¹¤Âð(y/n)? ");
;)(txen、ncs = tpo gnirtSﻩ
if (opt、equalsIgnoreCase(”Y")) {
ﻩ boolean flag = false;
{ yrtﻩﻩﻩ
;)dIpme(eteleDod、oad、siht = galfﻩ
} catch (Exception e)
{
ﻩ;)(ecarTkcatStnirp、eﻩ
}ﻩﻩﻩ
{ )galf( fiﻩ ﻩ ﻩ System、out、println("Ô±¹¤ÐÅÏ¢ÒÑɾ³ý”);
ﻩ } else { ﻩﻩ
;)”Ü°§Êý³¾É¢ÏÅФ¹±Ô”(nltnirp、tuo、metsySﻩ }ﻩ ﻩ } ﻩ }ﻩ { )(dItnemtrapeDtupni tni etavirpﻩ ;)(ecnatsnIOADtpmeDIteg、yrotcaFOAD = OADtped OADtpeDIﻩﻩ ;llun = stped >tnemtrapeD<tsiLﻩﻩ
{ yrtﻩ
depts = deptDAO、findAll();
} { )e noitpecxE( hctacﻩﻩ
e、printStackTrace();
} ﻩ
;dItped tniﻩ
boolean valid = false;
;)(〉regetnI<teShsaH wen = sdIpme >regetnI<teSﻩ
{ odﻩ
ﻩ System、out、println(); ﻩ
;)"í±ÐÁÅÿ²ñÔ¡Ñt\"(nltnirp、tuo、metsySﻩﻩ;)”ƳûÃt\źà±t\”(nltnirp、tuo、metsySﻩ
ﻩ System、out、println("============================");
Iterator<Department〉 it = depts、iterator(); ﻩ;llun = tped tnemtrapeDﻩﻩ
{ ))(txeNsah、ti( elihwﻩ
ﻩ
;)(txen、ti = tpedﻩ
;))(dItpeDteg、tped(dda、sdIpmeﻩﻩ
ﻩ
System、out、println(”\t" + dept、getDeptId() + "\t”
ﻩﻩﻩ
+ dept、getDeptName());
}
;)” :ñÔ¡ÑëÇ"(tnirp、tuo、metsySﻩ
;)(tnItxen、ncs = dItpedﻩ
;)dItped(sniatnoc、sdIpme = dilavﻩﻩﻩ{)dilav!(fiﻩ
ﻩ
System、out、println(”ÊäÈëµÄ²¿ÃźÅÓÐÎó");
}ﻩﻩ }
;)dilav!( elihwﻩ
return deptId;
}ﻩ { )(ofnIpmEweNtupni eeyolpmE etavirpﻩ
System、out、print("ÇëÊäÈëÔ±¹¤ÐÕÃû: ”);
;)(txen、ncs = emaNpme gnirtSﻩ
System、out、print("ÇëÊäÈëÔ±¹¤ÐÔ±ð:
”);
;)(txen、ncs = xeSpme gnirtSﻩ ;)" :Åÿ²ÚÔùˤ¹±ÔñÔ¡ÑëÇ”(tnirp、tuo、metsySﻩﻩ
;)(dItnemtrapeDtupni、siht = dItped tniﻩ
;)” :ź¤ÖÝ·íɤ¹±ÔëÈäÊëÇ”(tnirp、tuo、metsySﻩ
String passport = scn、next();
System、out、print(”ÇëÊäÈëÔ±¹¤Ð½Ë®: ”);
;)(elbuoDtxen、ncs = yralas elbuodﻩ
;)(eeyolpmE wen = pmEwen eeyolpmEﻩ
;)emaNpme(emaNpmEtes、pmEwenﻩ
newEmp、setEmpSex(empSex);
;)dItped(dItpeDtes、pmEwenﻩﻩ ;)tropssap(tropssaPtes、pmEwenﻩﻩ
;)yralas(yralaStes、pmEwenﻩ
return newEmp;
}ﻩ
{ )dIpme tni(dIyBeeyolpmEteg eeyolpmE etavirpﻩ
;llun = pme eeyolpmEﻩ
try {
emp = this、dao、findById(empId);
} { )e noitpecxE( hctacﻩ
;)(ecarTkcatStnirp、eﻩ }ﻩﻩ
return emp;
} Npme gnirtS(emaNyBseeyolpmEteg >eeyolpmE<tsiL etavirpﻩame) {
;llun = spme >eeyolpmE〈tsiLﻩﻩ
try {
ﻩ emps = this、dao、findByName(empName);
}
{ )e noitpecxE( hctacﻩ
ﻩ e、printStackTrace();
}ﻩﻩ
;spme nruterﻩ }
{ )xes gnirtS(xeSyBseeyolpmEteg >eeyolpmE〈tsiL etavirpﻩ
;llun = spme >eeyolpmE<tsiLﻩ
try { ﻩ;)xes(xeSyBdnif、oad、siht = spmeﻩ } { )e noitpecxE( hctacﻩﻩ
ﻩ e、printStackTrace();
}
;spme nruterﻩﻩ }ﻩ private Employee getEmployeeByPassport(String passport) {
Employee emp = null;
{ yrtﻩﻩ;)tropssap(tropssaPyBdnif、oad、siht = pmeﻩ
} { )e noitpecxE( hctacﻩ
ﻩ e、printStackTrace();
}ﻩﻩ
return emp;
}
{ )dItped tni(dIyBtnemtrapeDteg tnemtrapeD etavirpﻩ
IDeptDAO deptDAO = DAOFactory、getIDemptDAOInstance();
;llun = tped tnemtrapeDﻩ
try {
dept = deptDAO、findById(deptId);
} catch (Exception e1) {
e1、printStackTrace();
}
return dept;
}ﻩ private void showEmp(Employee emp)
{
;)(nltnirp、tuo、metsySﻩﻩ
;)"¢ÏÅФ¹±Ô
t\”(nltnirp、tuo、metsySﻩ ===============================”(nltnirp、tuo、metsySﻩ==============”);
;))(dIpmEteg、pme + ” :ź౤¹±Ôt\”(nltnirp、tuo、metsySﻩﻩ
;))(emaNpmEteg、pme + ” :ûÃÕФ¹±Ôt\"(nltnirp、tuo、metsySﻩ ;))(xeSpmEteg、pme + ” :ð±ÔФ¹±Ôt\”(nltnirp、tuo、metsySﻩﻩ
;)(ecnatsnIOADtpmeDIteg、yrotcaFOAD = oad OADtpeDIﻩ ;llun = tped tnemtrapeDﻩﻩ
{ yrtﻩ
;))(dItpeDteg、pme(dIyBdnif、oad = tpedﻩﻩ
} catch (Exception e) {
ﻩ e、printStackTrace();
}ﻩ
;))(emaNtpeDteg、tped + ” :Åÿ²ÚÔùËt\”(nltnirp、tuo、metsySﻩ ;))(tropssaPteg、pme + ” :ź¤ÖÝ·íÉt\”(nltnirp、tuo、metsySﻩﻩme(rebmuNdetamroFteg + ” :®Ë½Ð°Ç±µt\”(nltnirp、tuo、metsySﻩﻩp、getSalary()));
System、out、println();
}ﻩ { )spme 〉eeyolpmE〈tsiL(pmEwohs diov etavirpﻩ
;)(nltnirp、tuo、metsySﻩ
System、out、println(”\t\t\t\tÔ±¹¤ÐÅÏ¢”);
;)(nltnirp、tuo、metsySﻩ
S y stem 、 ou t 、 p r i n t ln ( ”\t±àºÅ\tÐÕÃû\ tÐÔ±ð\t²¿ÃÅ\tÉí·ÝÖ¤ºÅ\t\t\tнˮ");
System、out
、println("===========================================================================”);
;llun = pam >tnemtrapeD ,regetnI〈paMﻩ
;)(ecnatsnIOADtpmeDIteg、yrotcaFOAD = OADtped OADtpeDIﻩ
try { ﻩ;)(paMtnemtrapeDteg、OADtped = pamﻩ
} { )1e noitpecxE( hctacﻩﻩ;)(ecarTkcatStnirp、1eﻩ }ﻩﻩ
Iterator〈Employee> it = emps、iterator();
{ ))(txeNsah、ti( elihwﻩ
ﻩ Employee emp = it、next(); ﻩ;)"t\" + )(dIpmEteg、pme + ”t\"(tnirp、tuo、metsySﻩ
;)"t\" + )(emaNpmEteg、pme(tnirp、tuo、metsySﻩ
;)”t\" + )(xeSpmEteg、pme(tnirp、tuo、metsySﻩﻩ
System、out、print(map、get(emp、getDeptId())、getDeptName() + ”\t”);
;)”t\” + )(tropssaPteg、pme(tnirp、tuo、metsySﻩ
S y s tem 、 out 、 p ri n t ln( g e tFormatedNu m ber( e mp 、getSalary()) + "\t");
}
;)(nltnirp、tuo、metsySﻩﻩ }ﻩ {)d elbuod(rebmuNdetamroFteg gnirtS etavirpﻩ
;)(ecnatsnIteg、tamroFrebmuN = tamrof tamroFrebmuNﻩ
;)1(stigiDnoitcarFmumixaMtes、tamrofﻩ
;)d(tamrof、tamrof nruterﻩ }
private void showFindMenu() {
System、out、println();
System、out、println(”\t\tÑ¡Ôñ²éѯÌõ¼þ"); =============================="(nltnirp、tuo、metsySﻩﻩ====”);
System、out、println("
1、 °´Ô±¹¤ºÅ²éѯ");
;)"¯Ñé²ûÃÕд° 、2
"(nltnirp、tuo、metsySﻩ
;)"¯Ñé²ð±Ôд° 、3
”(nltnirp、tuo、metsySﻩ ;)”¯Ñé²Åÿ²ÚÔùË´° 、4
"(nltnirp、tuo、metsySﻩﻩ
;)"¯Ñé²Åº¤ÖÝ·íÉ´° 、5
"(nltnirp、tuo、metsySﻩ
System、out、println("
0、 Í˳ö²éѯ”);
;)” :ñÔ¡ÑëÇ
"(tnirp、tuo、metsySﻩ } } package 、ts017、zjh; import java、util、Scanner; public class Operator {
{ )sgra ][gnirtS(niam diov citats cilbupﻩ ﻩ new Operator()、begin();
}ﻩ private void begin(){
;)ni、metsyS(rennacS wen = ncs rennacSﻩﻩ
;tpo tniﻩ ﻩ do {
ﻩ showMainMenu();
;)(tnItxen、ncs = tpoﻩﻩ ﻩ
switch (opt)
{
ﻩ
case 1:
ﻩﻩ
;)(etarepOpme、sihtﻩ ﻩ
break;
:2 esacﻩﻩ
ﻩ
this、deptOperate();
ﻩ;kaerbﻩ ﻩ
:0 esacﻩ
ﻩﻩ System、exit(0);
ﻩ
default:
ﻩ System、out、println("您得输入有误”);
}
} while (opt!=0);
}
{)(uneMniaMwohs diov etavirpﻩ
System、out、println();
System、out、println(”\t 欢迎使用东方罗尔员工管理系统"); ========================================"(nltnirp、tuo、metsySﻩﻩ==========”);
System、out、println("
1、员工操作");
;)”作操门部、2
”(nltnirp、tuo、metsySﻩﻩ ;)"出退、0
"(nltnirp、tuo、metsySﻩﻩ
;)" :择选请
"(tnirp、tuo、metsySﻩ }
{)(uneMetarepOpmEwohs diov etavirpﻩ
;)(nltnirp、tuo、metsySﻩ ﻩ System、out、println("\t\t 员工操作”);
ﻩ System、out、println(”======================================”);
;)”工员加添 、1
”(nltnirp、tuo、metsySﻩ ﻩ System、out、println("
2、 浏览员工信息");
;)”息信工员找查 、3
"(nltnirp、tuo、metsySﻩ ﻩ System、out、println(”
4、 删除员工信息”);
ﻩ System、out、println(”
5、 修改员工信息");
;)"作操出退 、0
”(nltnirp、tuo、metsySﻩ ﻩ System、out、print(”
请选择: ”);
}ﻩ {)(uneMetarepOtpeDwohs diov etavirpﻩ
System、out、println();
System、out、println("\t\t 部门操作”);
ﻩ System、out、println("=======================================");
;)"门部加添 、1
"(nltnirp、tuo、metsySﻩﻩ
;)"息信门部览浏 、2
”(nltnirp、tuo、metsySﻩ ;)”息信门部找查 、3
"(nltnirp、tuo、metsySﻩﻩ
;)"息信门部除删 、4
"(nltnirp、tuo、metsySﻩ
;)"息信门部改修 、5
"(nltnirp、tuo、metsySﻩ ;)"总汇息信门部 、6
”(nltnirp、tuo、metsySﻩﻩ ﻩ System、out、println(”
0、 退出操作”);
;)” :择选请
"(tnirp、tuo、metsySﻩﻩ }ﻩ private void empOperate(){
;)ni、metsyS(rennacS wen = ncs rennacSﻩﻩ ;)(etarepOeeyolpmE wen = tpOpme etarepOeeyolpmEﻩﻩ
;tpo tniﻩ ﻩ do {
ﻩﻩ showEmpOperateMenu();
ﻩ opt = scn、nextInt();
ﻩ
{ )tpo( hctiwsﻩ
case 1:
;)(pmEdda、tpOpmeﻩ
ﻩ
break;
ﻩ
:2 esacﻩ
ﻩ
empOpt、findAll();
ﻩ break;
ﻩ
:3 esacﻩ
;)(pmEdnif、tpOpmeﻩ ﻩ;kaerbﻩ
:4 esacﻩ
;)(pmEeteled、tpOpmeﻩ ﻩ
ﻩ break;
:5 esacﻩﻩ
ﻩ
empOpt、updateEmp();
ﻩ
ﻩ break;
case 0:
ﻩﻩ
return;
:tluafedﻩ
;)”误有入输得您”(nltnirp、tuo、metsySﻩ
}ﻩﻩ } ;)0=!tpo( elihwﻩﻩ }
private void deptOperate(){
;)ni、metsyS(rennacS wen = ncs rennacSﻩﻩ
DepartmentOperate deptOpt = new DepartmentOperate();
;tpo tniﻩﻩ
do {
;)(uneMetarepOtpeDwohsﻩﻩ
ﻩ opt = scn、nextInt();
ﻩ
{ )tpo( hctiwsﻩ ﻩﻩ case 1:
;)(tnemtrapeDdda、tpOtpedﻩ
;kaerbﻩﻩ
case 2:
ﻩ deptOpt、findAll();
ﻩ;kaerbﻩ ﻩﻩ case 3:
ﻩﻩ
deptOpt、findDepartment();
ﻩ
ﻩ break;
:4 esacﻩ
ﻩ
deptOpt、delDepartment();
ﻩ
;kaerbﻩﻩ
ﻩ case 5:
ﻩ
deptOpt、updateDepartment();
ﻩﻩ
;kaerbﻩ ﻩﻩ case 6:
;)(ezirammuStnemtrapeDwohs、tpOtpedﻩﻩ ﻩ
break;
ﻩ case 0:
ﻩ;nruterﻩ
:tluafedﻩ
ﻩ System、out、println("您得输入有误”);
}ﻩ } ;)0=!tpo( elihwﻩﻩ } } package 、ts017、zjh、dao; import java、util、List; import java、util、Map; import 、ts017、zjh、vo、Department; public interface IDeptDAO {
public boolean doCreate(Department dept)throws Exception;
;noitpecxE sworht)tped tnemtrapeD(etadpUod naeloob cilbupﻩ ;noitpecxE sworht)dItped tni(eteleDod naeloob cilbupﻩ public List<Department> findAll()throws Exception;
public Department findById(int deptId)throws Exception;
sworht)emaNtped gnirtS(emaNyBdnif tnemtrapeD cilbupﻩException; cxE sworht)(paMtnemtrapeDteg >tnemtrapeD ,regetnI〈paM cilbupﻩeption; E sworht)(puorGyByralaSegarevAteg >elbuoD ,regetnI<paM cilbupﻩxception;
public Map<Integer, Integer〉 getEmpCountByGroup()throws Exception; oitpecxE sworht)(puorGyByralaSpoTteg 〉elbuoD ,regetnI〈paM cilbupﻩ
n;
public Map<Integer, Double> getLowSalaryByGroup()throws Exception;
sworht)(pmEtuohtiWtnemtrapeDteg >tnemtrapeD〈tsiL cilbupﻩException;
public int getAllCount()throws Exception; } package 、ts017、zjh、dao; import java、util、List; import 、ts017、zjh、vo、Employee; public interface IEmpDAO {
;noitpecxE sworht)pme eeyolpmE(etaerCod naeloob cilbupﻩ public boolean doUpdate(Employee emp)throws Exception;
public boolean doDelete(int empId)throws Exception;
;noitpecxE sworht)dItped tni(dItpeDyBeteleDod naeloob cilbupﻩ public List<Employee> findAll()throws Exception;
public List〈Employee〉 findByDeptId(int deptId)throws Exception;
public Employee findById(int empId)throws Exception;
public List〈Employee〉 findByName(String name)throws Exception;
;noitpecxE sworht)xes gnirtS(xeSyBdnif >eeyolpmE<tsiL cilbupﻩxE sworht)tropssap gnirtS(tropssaPyBdnif eeyolpmE cilbupﻩception;
;noitpecxE sworht)(tnuoCllAteg tni cilbupﻩ} package 、ts017、zjh、dao、factory; import 、ts017、zjh、dao、IDeptDAO; import 、ts017、zjh、dao、IEmpDAO; import 、ts017、zjh、dao、proxy、IDeptDAOProxy; import 、ts017、zjh、dao、proxy、IEmpDAOProxy; public class DAOFactory {
public static IEmpDAO getIEmpDAOInstance(){
;)(yxorPOADpmEI wen nruterﻩ }ﻩ {)(ecnatsnIOADtpmeDIteg OADtpeDI citats cilbupﻩ ;)(yxorPOADtpeDI wen nruterﻩﻩ }ﻩ} package 、ts017、zjh、dao、impl; import java、sql、Connection; import java、sql、PreparedStatement; import java、sql、ResultSet; import java、util、ArrayList;
import java、util、Iterator; import java、util、List; import java、util、Map; import java、util、TreeMap; import 、ts017、zjh、dao、IDeptDAO; import 、ts017、zjh、vo、Department; public class IDeptDAOImpl implements IDeptDAO {
;llun = nnoc noitcennoC etavirpﻩ public IDeptDAOImpl(Connection conn) {
this、conn = conn;
}ﻩ edirrevOﻩ public boolean doCreate(Department dept)
throws Exception {
;eslaf = galf naeloobﻩﻩ
PreparedStatement pstmt = null;
;")?(SEULAV)emaNtped( tnemtraped OTNI TRESNI” = lqs gnirtSﻩ
try {
ﻩ
;)lqs(tnemetatSeraperp、nnoc = tmtspﻩﻩ;))(emaNtpeDteg、tped ,1(gnirtStes、tmtspﻩ
int count = pstmt、executeUpdate();
{ )0 > tnuoc( fiﻩﻩ ﻩﻩ
;eurt = galfﻩ ﻩ
}ﻩ ﻩ } catch (Exception e) {
throw e;
ﻩ } finally {
ﻩ
try {
ﻩ{ )llun =! tmtsp( fiﻩ
ﻩ
;)(esolc、tmtspﻩ }ﻩﻩﻩﻩ
} { )2e noitpecxE( hctacﻩ
;2e worhtﻩ ﻩ
}ﻩ }ﻩﻩ
;galf nruterﻩ }ﻩ edirrevOﻩ { noitpecxE sworht )dItped tni(eteleDod naeloob cilbupﻩ
;eslaf = galf naeloobﻩ ﻩ PreparedStatement pstmt = null;
String sql = ”DELETE FROM department WHERE deptId = ?";
ﻩ try {
;)lqs(tnemetatSeraperp、nnoc = tmtspﻩ ﻩﻩ pstmt、setInt(1, deptId);
;)(etadpUetucexe、tmtsp = tnuoc tniﻩﻩ ﻩ
if (count 〉 0) {
ﻩ;eurt = galfﻩ
ﻩ }
} catch (Exception e)
{
ﻩﻩ throw e;
} { yllanifﻩ
ﻩ try { { )llun =!
tmtsp( fiﻩﻩ
ﻩﻩ
;)(esolc、tmtspﻩ }ﻩﻩﻩﻩ
} catch (Exception e2) {
ﻩ
;2e worhtﻩ
}
}ﻩ ;galf nruterﻩﻩ }ﻩ edirrevOﻩ { noitpecxE sworht )tped tnemtrapeD(etadpUod naeloob cilbupﻩ ;eslaf = galf naeloobﻩﻩ
;llun = tmtsp tnemetatSderaperPﻩ
dItped EREHW ? = emaNtped TES tnemtraped ETADPU” = lqs gnirtSﻩ= ?”;
try {
;)lqs(tnemetatSeraperp、nnoc = tmtspﻩ
;))(emaNtpeDteg、tped ,1(gnirtStes、tmtspﻩﻩ ﻩ
;))(dItpeDteg、tped ,2(tnItes、tmtspﻩ
int count = pstmt、executeUpdate();
{ )0 〉 tnuoc( fiﻩ ﻩ
ﻩ flag = true;
ﻩﻩ }
} { )e noitpecxE( hctacﻩﻩ
;e worhtﻩ
} { yllanifﻩ
try {
ﻩ
{ )llun =!
tmtsp( fiﻩﻩ
ﻩ
pstmt、close();
ﻩﻩ
}
ﻩ
} catch (Exception e2) {
ﻩ
;2e worhtﻩ ﻩﻩ }
}ﻩ
return flag;
}ﻩ
Override
{ noitpecxE sworht )(llAdnif >tnemtrapeD<tsiL cilbupﻩ ﻩ List〈Department> depts = new ArrayList<Department>();
ﻩ PreparedStatement pstmt = null;
;llun = sr teStluseRﻩ YB REDRO tnemtraped MORF emaNtped ,dItped TCELES” = lqs gnirtSﻩﻩdeptId";
try {
;)lqs(tnemetatSeraperp、nnoc = tmtspﻩ ﻩﻩ rs = pstmt、executeQuery();
ﻩ
;llun = tped tnemtrapeDﻩ
while (rs、next())
{
ﻩ
dept = new Department();
ﻩ
dept、setDeptId(rs、getInt(1)); ;))2(gnirtSteg、sr(emaNtpeDtes、tpedﻩﻩ ﻩ
depts、add(dept);
}ﻩ
} catch (Exception e) {
ﻩ
;e worhtﻩ
} { yllanifﻩ
{ yrtﻩ ﻩ
{ )llun =! sr( fiﻩﻩﻩﻩﻩ;)(esolc、srﻩ
}ﻩﻩﻩ ﻩﻩ
if (pstmt != null)
{
ﻩ ﻩ;)(esolc、tmtspﻩ ﻩﻩ
}ﻩ
} { )2e noitpecxE( hctacﻩ ﻩ;2e worhtﻩ ﻩ
}ﻩ ﻩ }
ﻩ return depts;
}ﻩ edirrevOﻩ { noitpecxE sworht )dItped tni(dIyBdnif tnemtrapeD cilbupﻩ ;llun = tped tnemtrapeDﻩﻩ
PreparedStatement pstmt = null;
;llun = sr teStluseRﻩﻩ
String sql = "SELECT deptId, deptName FROM department WHERE deptId = ?”;
try {
ﻩ
pstmt = conn、prepareStatement(sql);
;)dItped ,1(tnItes、tmtspﻩﻩ ﻩ
rs = pstmt、executeQuery();
{ ))(txen、sr( fiﻩﻩ ﻩ
;)(tnemtrapeD wen = tpedﻩﻩ ﻩ;))1(tnIteg、sr(dItpeDtes、tpedﻩ ﻩ
;))2(gnirtSteg、sr(emaNtpeDtes、tpedﻩ }ﻩﻩﻩ
} { )e noitpecxE( hctacﻩ
ﻩ throw e;
} finally {
try {
ﻩﻩ
{ )llun =! sr( fiﻩ ;)(esolc、srﻩﻩ ﻩ
}ﻩﻩ
ﻩﻩ if (pstmt != null) {
ﻩ
pstmt、close();
}ﻩﻩﻩﻩ }ﻩ{ )2e noitpecxE( hctacﻩ
ﻩ
throw e2;
ﻩﻩ }
}
;tped nruterﻩ }
edirrevOﻩ { noitpecxE sworht )emaNtped gnirtS(emaNyBdnif tnemtrapeD cilbupﻩ ;llun = tped tnemtrapeDﻩﻩ ;llun = tmtsp tnemetatSderaperPﻩﻩ
ResultSet rs = null;
EHW tnemtraped MORF emaNtped ,dItped TCELES” = lqs gnirtSﻩRE deptName = ?”;
try {
;)lqs(tnemetatSeraperp、nnoc = tmtspﻩﻩ
;)emaNtped ,1(gnirtStes、tmtspﻩﻩ;)(yreuQetucexe、tmtsp = srﻩ ﻩ
{ ))(txen、sr( fiﻩ ﻩ;)(tnemtrapeD wen = tpedﻩ
;))1(tnIteg、sr(dItpeDtes、tpedﻩﻩ ﻩ
;))2(gnirtSteg、sr(emaNtpeDtes、tpedﻩﻩ ﻩ
}
ﻩ } catch (Exception e)
{
ﻩ throw e;
} { yllanifﻩ
try { { )llun =! sr( fiﻩﻩ
ﻩ
rs、close();
ﻩ
}
{ )llun =! tmtsp( fiﻩﻩ
;)(esolc、tmtspﻩ
}ﻩ
} { )2e noitpecxE( hctacﻩﻩ ﻩ
ﻩ throw e2;
}
}ﻩﻩ
;tped nruterﻩ }
edirrevOﻩ { noitpecxE sworht )(tnuoCllAteg tni cilbupﻩ
int count = 0;
;llun = tmtsp tnemetatSderaperPﻩ ;llun = sr teStluseRﻩﻩ
String sql = "SELECT COUNT(*) FROM department”;
try { ﻩ;)lqs(tnemetatSeraperp、nnoc = tmtspﻩ
rs = pstmt、executeQuery();
ﻩ
if (rs、next()) {
ﻩ
;)1(tnIteg、sr = tnuocﻩ }ﻩﻩﻩ
} { )e noitpecxE( hctacﻩ
ﻩ throw e;
ﻩ } finally {
{ yrtﻩﻩ ﻩ{ )llun =! sr( fiﻩ ﻩ
ﻩﻩ rs、close();
ﻩﻩ
}ﻩ
ﻩ
if (pstmt != null) {
ﻩ
;)(esolc、tmtspﻩ
ﻩ }
} { )2e noitpecxE( hctacﻩ
ﻩ throw e2;
ﻩ
}
}ﻩﻩ ﻩ return count;
}
Override cxE sworht )(paMtnemtrapeDteg 〉tnemtrapeD ,regetnI<paM cilbupﻩeption {
mtrapeD ,regetnI〈paMeerT wen = pam 〉tnemtrapeD ,regetnI〈paMﻩent〉();
List<Department〉 depts = null;
try {
;)(llAdnif、siht = stpedﻩﻩ
} { )e noitpecxE( hctacﻩ
throw e;
}ﻩ ;)(rotareti、stped = ti 〉tnemtrapeD〈rotaretIﻩﻩ ;llun = tped tnemtrapeDﻩﻩ { ))(txeNsah、ti( elihwﻩﻩﻩ;)(txen、ti = tpedﻩ
map、put(dept、getDeptId(), dept);
}ﻩﻩ
return map;
}ﻩ Override
public Map〈Integer, Double〉 getAverageSalaryByGroup() throws Exception {
Map〈Integer, Double〉 map = new TreeMap〈Integer, Double>();
ﻩ PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "SELECT deptId, avg(salary)
FROM employee GROUP BY deptId";
ﻩ try {
;)lqs(tnemetatSeraperp、nnoc = tmtspﻩ ﻩ
;)(yreuQetucexe、tmtsp = srﻩ ﻩ
while (rs、next()) {
ﻩ
;))2(elbuoDteg、sr ,)1(tnIteg、sr(tup、pamﻩ
}ﻩﻩ
} catch (Exception e)
{
;e worhtﻩﻩ
} { yllanifﻩ
{ yrtﻩ
ﻩ
if (rs != null) {
ﻩ
;)(esolc、srﻩ
ﻩ
}
ﻩ
if (pstmt != null) {
ﻩ
ﻩ pstmt、close();
ﻩﻩ }
ﻩ } catch (Exception e2)
{
ﻩ
;2e worhtﻩﻩ }ﻩﻩﻩ }ﻩﻩ ﻩ return map;
}ﻩ edirrevOﻩ
ecxE sworht )(pmEtuohtiWtnemtrapeDteg 〉tnemtrapeD<tsiL cilbupﻩption {
;)(>tnemtrapeD<tsiLyarrA wen = stped >tnemtrapeD<tsiLﻩﻩ
;llun = tmtsp tnemetatSderaperPﻩ
;llun = sr teStluseRﻩ nemtraped MORF emaNtped、d ,dItped、d TCELES" = lqs gnirtSﻩt d ”
” + ﻩ” dItped、e = dItped、d NO e eeyolpme NIOJ TFELﻩ ﻩﻩ
" + ;"dItped、d YB REDRO LLUN SI dIpme、e EREHWﻩ { yrtﻩﻩ
ﻩ pstmt = conn、prepareStatement(sql);
;)(yreuQetucexe、tmtsp = srﻩﻩ ﻩ
;llun = tped tnemtrapeDﻩﻩ{ ))(txen、sr( elihwﻩ
ﻩﻩ dept = new Department();
ﻩ;))1(tnIteg、sr(dItpeDtes、tpedﻩ
ﻩﻩ dept、setDeptName(rs、getString(2));
depts、add(dept);
ﻩ
}ﻩ
} { )e noitpecxE( hctacﻩ ﻩ
throw e;
} { yllanifﻩﻩ
try {
ﻩﻩ
{ )llun =! sr( fiﻩ ﻩ
rs、close();
}ﻩﻩ ﻩ{ )llun =! tmtsp( fiﻩ
ﻩﻩ
pstmt、close();
ﻩ
}ﻩ
} { )2e noitpecxE( hctacﻩ
;2e worhtﻩ
}ﻩ
}ﻩ ;stped nruterﻩﻩ }ﻩ edirrevOﻩ { noitpecxE sworht )(puorGyBtnuoCpmEteg >regetnI ,regetnI〈paM cilbupﻩ
Map<Integer, Integer> map = new TreeMap<Integer, Integer>();
;llun = tmtsp tnemetatSderaperPﻩ
ResultSet rs = null;
ﻩ String sql = null;;
ﻩ sql = ”SELECT e、deptId, COUNT(*)”
ﻩ
+ ” FROM employee e"
ﻩ
" + "dItped、e YB PUORGﻩ
ﻩ + " UNION”
+ ” SELECT d、deptId, COUNT(*)-1"
+ " FROM department d”
ﻩﻩ + ” LEFT JOIN employee e"
+ ” ON d、deptId = e、deptId”
" +ﻩ ”LLUN SI dIpme、e EREHWﻩ ﻩ
+ " GROUP BY d、deptId”;
try {
ﻩﻩ pstmt = conn、prepareStatement(sql);
ﻩ
rs = pstmt、executeQuery();
while (rs、next()) {
ﻩﻩ map、put(rs、getInt(1), rs、getInt(2));
ﻩ
}
ﻩ } catch (Exception e) {
ﻩ throw e;
} finally { ﻩ{ yrtﻩ ﻩ
if (rs != null) {
ﻩ
ﻩ
rs、close();
ﻩﻩ
}ﻩ ﻩ
{ )llun =!
tmtsp( fiﻩﻩ ;)(esolc、tmtspﻩﻩ } ﻩﻩﻩ
} { )2e noitpecxE( hctacﻩ
;2e worhtﻩ ﻩ
}ﻩ
}ﻩ ;pam nruterﻩﻩ }ﻩ Override
public Map<Integer, Double> getLowSalaryByGroup() throws Exception {
;)(>elbuoD ,regetnI〈paMeerT wen = pam >elbuoD ,regetnI〈paMﻩ ﻩ PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "SELECT deptId, MIN(salary) FROM employee GROUP BY deptId";
try { ﻩ;)lqs(tnemetatSeraperp、nnoc = tmtspﻩ
;)(yreuQetucexe、tmtsp = srﻩ
{ ))(txen、sr( elihwﻩﻩ
ﻩ
map、put(rs、getInt(1), rs、getDouble(2));
ﻩ
}ﻩ
} { )e noitpecxE( hctacﻩ
ﻩ throw e;
} { yllanifﻩ
ﻩ try {
ﻩﻩ
{ )llun =! sr( fiﻩ
ﻩﻩ
;)(esolc、srﻩ ﻩﻩ
}ﻩ ﻩ
{ )llun =! tmtsp( fiﻩ ﻩﻩ
pstmt、close();
ﻩ
ﻩ }
} catch (Exception e2)
{
ﻩ
ﻩ throw e2;
}ﻩﻩ
}
;pam nruterﻩ }
Override
{ noitpecxE sworht )(puorGyByralaSpoTteg >elbuoD ,regetnI〈paM cilbupﻩ
Map<Integer, Double> map = new TreeMap〈Integer, Double〉();
ﻩ PreparedStatement pstmt = null;
;llun = sr teStluseRﻩ
String sql = "SELECT deptId, MAX(salary)
FROM employee GROUP BY deptId";
{ yrtﻩﻩ
;)lqs(tnemetatSeraperp、nnoc = tmtspﻩﻩ ﻩﻩ rs = pstmt、executeQuery();
{ ))(txen、sr( elihwﻩﻩ ﻩ
map、put(rs、getInt(1), rs、getDouble(2));
ﻩ }
} { )e noitpecxE( hctacﻩ ﻩ
throw e;
} { yllanifﻩ ﻩ
try {
ﻩ
{ )llun =! sr( fiﻩ
ﻩﻩ
rs、close();
ﻩ
}ﻩ
ﻩﻩ if (pstmt != null) {
ﻩ
pstmt、close();
} ﻩﻩﻩ
} { )2e noitpecxE( hctacﻩﻩ
ﻩ
;2e worhtﻩ
ﻩ }
ﻩ }
;pam nruterﻩﻩ
} } package 、ts017、zjh、dao、impl; import java、sql、Connection; import java、sql、PreparedStatement; import java、sql、ResultSet; import java、util、ArrayList; import java、util、List; import 、ts017、zjh、dao、IEmpDAO; import 、ts017、zjh、vo、Employee; public class IEmpDAOImpl implements IEmpDAO {
private Connection conn = null;
{ )nnoc noitcennoC(lpmIOADpmEI cilbupﻩ
;nnoc = nnoc、sihtﻩ }
Override
{ noitpecxE sworht )pme eeyolpmE(etaerCod naeloob cilbupﻩ
boolean flag = false;
ﻩ PreparedStatement pstmt = null;
String sql = ”INSERT INTO employee (empName, empSex, deptId, passport, salary)VALUES(?, ?, ?, ?, ?)";
{ yrtﻩ
;)lqs(tnemetatSeraperp、nnoc = tmtspﻩﻩ
;))(emaNpmEteg、pme ,1(gnirtStes、tmtspﻩﻩ;))(xeSpmEteg、pme ,2(gnirtStes、tmtspﻩ
ﻩ pstmt、setInt(3, emp、getDeptId());
ﻩ
;))(tropssaPteg、pme ,4(gnirtStes、tmtspﻩ ﻩ
pstmt、setDouble(5, emp、getSalary());
ﻩ
int count = pstmt、executeUpdate();
ﻩﻩ if (count > 0)
{
ﻩﻩ flag = true;
}
} { )e noitpecxE( hctacﻩ ﻩ
;e worhtﻩ ﻩ } finally {
{ yrtﻩﻩ
ﻩﻩ if (pstmt != null) {
ﻩﻩﻩ pstmt、close();
}
ﻩ
} { )2e noitpecxE( hctacﻩ;2e worhtﻩﻩ ﻩﻩ }
}ﻩ ﻩ return flag;
}ﻩ Override
public boolean doDelete(int empId)
throws Exception {
;eslaf = galf naeloobﻩ ;llun = tmtsp tnemetatSderaperPﻩﻩ ;”? = dIpme EREHW eeyolpme MORF ETELED" = lqs gnirtSﻩﻩ
{ yrtﻩ
;)lqs(tnemetatSeraperp、nnoc = tmtspﻩﻩ ﻩﻩ pstmt、setInt(1, empId);
ﻩﻩ int count = pstmt、executeUpdate();
ﻩ
if (count > 0) { ;eurt = galfﻩﻩ
}ﻩ
} catch (Exception e) {
ﻩ
;e worhtﻩ
} finally {
ﻩﻩ try {
if (pstmt != null) {
ﻩ;)(esolc、tmtspﻩ
}ﻩﻩ }ﻩ{ )2e noitpecxE( hctacﻩ
ﻩﻩ throw e2;
}ﻩﻩ
}
;galf nruterﻩ }
edirrevOﻩ public boolean doUpdate(Employee emp)
throws Exception {
;eslaf = galf naeloobﻩﻩ
PreparedStatement pstmt = null;
ﻩ String sql = "UPDATE employee SET empName = ?, empSex = ?, deptId = ?, passport = ?, salary = ? WHERE empId = ?";
{ yrtﻩﻩ ﻩﻩ pstmt = conn、prepareStatement(sql);
;))(emaNpmEteg、pme ,1(gnirtStes、tmtspﻩﻩ
pstmt、setString(2, emp、getEmpSex());
;))(dItpeDteg、pme ,3(tnItes、tmtspﻩﻩ;))(tropssaPteg、pme ,4(gnirtStes、tmtspﻩ ﻩ
;))(yralaSteg、pme ,5(elbuoDtes、tmtspﻩ
;))(dIpmEteg、pme ,6(tnItes、tmtspﻩ ﻩ
;)(etadpUetucexe、tmtsp = tnuoc tniﻩ ﻩ
if (count 〉 0) {
flag = true;
ﻩ
}ﻩ
} { )e noitpecxE( hctacﻩ ﻩ
throw e;
} finally {
try {
ﻩ
{ )llun =! tmtsp( fiﻩﻩ ﻩﻩ
pstmt、close();
ﻩ
ﻩ }
ﻩ
} { )2e noitpecxE( hctacﻩ ﻩ;2e worhtﻩ
}ﻩ ﻩ }
;galf nruterﻩ }
Override
public List<Employee〉 findAll() throws Exception {
ﻩ List〈Employee> emps = new ArrayList〈Employee〉();
ﻩ PreparedStatement pstmt = null;
;llun = sr teStluseRﻩ ﻩ String sql = ”SELECT empId, empName, empSex, deptId, passport, salary FROM employee";
{ yrtﻩﻩ
ﻩ pstmt = conn、prepareStatement(sql);
ﻩ
rs = pstmt、executeQuery();
;llun = pme eeyolpmEﻩﻩ ﻩﻩ while (rs、next()) {
ﻩ;)(eeyolpmE wen = pmeﻩ ﻩﻩ
;))1(tnIteg、sr(dIpmEtes、pmeﻩ
ﻩ emp、setEmpName(rs、getString(2));
ﻩﻩ emp、setEmpSex(rs、getString(3));
emp、setDeptId(rs、getInt(4));
ﻩ;))5(gnirtSteg、sr(tropssaPtes、pmeﻩ
;))6(elbuoDteg、sr(yralaStes、pmeﻩﻩ ﻩ;)pme(dda、spmeﻩ }ﻩﻩﻩ } { )e noitpecxE( hctacﻩﻩ
;e worhtﻩﻩ ﻩ } finally { ﻩ{ yrtﻩ
if (rs != null) {
ﻩ;)(esolc、srﻩ ﻩ
}ﻩ{ )llun =! tmtsp( fiﻩﻩ ﻩﻩ
ﻩ pstmt、close();
ﻩﻩ
}ﻩ
} catch (Exception e2) { ;2e worhtﻩﻩ
ﻩ }
}ﻩﻩ
return emps;
}
Override
noitpecxE sworht )dItped tni(dItpeDyBdnif 〉eeyolpmE〈tsiL cilbupﻩ{
List〈Employee> emps = new ArrayList〈Employee>();
;llun = tmtsp tnemetatSderaperPﻩ ﻩ ResultSet rs = null;
ﻩ String sql = ”SELECT empId, empName, empSex, deptId, passport, salary FROM employee WHERE deptId = ?";
ﻩ try { ﻩ;)lqs(tnemetatSeraperp、nnoc = tmtspﻩ
ﻩ pstmt、setInt(1, deptId);
;)(yreuQetucexe、tmtsp = srﻩ
Employee emp = null;
{ ))(txen、sr( elihwﻩﻩ
ﻩ emp = new Employee();
ﻩﻩ
emp、setEmpId(rs、getInt(1));
ﻩ
ﻩ emp、setEmpName(rs、getString(2));
ﻩ
emp、setEmpSex(rs、getString(3));
ﻩ;))4(tnIteg、sr(dItpeDtes、pmeﻩ
emp、setPassport(rs、getString(5)); ;))6(elbuoDteg、sr(yralaStes、pmeﻩﻩ ﻩ
;)pme(dda、spmeﻩﻩ
}ﻩ } { )e noitpecxE( hctacﻩﻩ ﻩ
;e worhtﻩ } { yllanifﻩﻩ
{ yrtﻩﻩ ﻩ
ﻩ if (rs != null)
{
ﻩ
;)(esolc、srﻩﻩ
}ﻩ ﻩ{ )llun =! tmtsp( fiﻩ
;)(esolc、tmtspﻩ ﻩﻩ
}ﻩ
ﻩ } catch (Exception e2) { ;2e worhtﻩﻩ ﻩﻩ }
}
return emps;
}
edirrevOﻩ public int getAllCount() throws Exception {
;0 = tnuoc tniﻩ ﻩ PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "SELECT COUNT(*)
FROM employee";
{ yrtﻩﻩ;)lqs(tnemetatSeraperp、nnoc = tmtspﻩ
ﻩ rs = pstmt、executeQuery();
if (rs、next()) {
ﻩ;)1(tnIteg、sr = tnuocﻩ ﻩ
}ﻩ
} catch (Exception e)
{
;e worhtﻩ
} finally {
{ yrtﻩ ﻩ
{ )llun =! sr( fiﻩ
ﻩ
;)(esolc、srﻩﻩ
ﻩ
}ﻩ ﻩ
if (pstmt != null) {
ﻩﻩ
ﻩ pstmt、close();
ﻩ }
ﻩ } catch (Exception e2) {
throw e2;
}ﻩ ﻩ }
;tnuoc nruterﻩﻩ }
Override
{ noitpecxE sworht )dIpme tni(dIyBdnif eeyolpmE cilbupﻩ
;llun = pme eeyolpmEﻩ
;llun = tmtsp tnemetatSderaperPﻩ
ResultSet rs = null;
,tropssap ,dItped ,xeSpme ,emaNpme ,dIpme TCELES" = lqs gnirtSﻩﻩsalary FROM employee WHERE empId = ?”;
{ yrtﻩ
;)lqs(tnemetatSeraperp、nnoc = tmtspﻩﻩ
;)dIpme ,1(tnItes、tmtspﻩﻩ
;)(yreuQetucexe、tmtsp = srﻩﻩ ﻩﻩ if (rs、next()) {
ﻩﻩ
emp = new Employee();
emp、setEmpId(rs、getInt(1));
;))2(gnirtSteg、sr(emaNpmEtes、pmeﻩ
;))3(gnirtSteg、sr(xeSpmEtes、pmeﻩ ﻩ
ﻩ emp、setDeptId(rs、getInt(4));
;))5(gnirtSteg、sr(tropssaPtes、pmeﻩﻩ ﻩ;))6(elbuoDteg、sr(yralaStes、pmeﻩ ﻩ
}ﻩ ﻩ } catch (Exception e)
{
ﻩﻩ throw e;
} finally {
ﻩﻩ try {
ﻩ
if (rs != null) {
ﻩ ﻩ;)(esolc、srﻩ
}ﻩﻩﻩ
if (pstmt != null)
{
ﻩ
ﻩ
pstmt、close();
ﻩ
}
} catch (Exception e2)
{
ﻩ;2e worhtﻩ }ﻩﻩﻩ
}
ﻩ return emp;
}
edirrevOﻩ { noitpecxE sworht )dItped tni(dItpeDyBeteleDod naeloob cilbupﻩ
boolean flag = false;
;llun = tmtsp tnemetatSderaperPﻩﻩ ﻩ String sql = ”DELETE FROM employee WHERE deptId = ?";
ﻩ try {
ﻩ
;)lqs(tnemetatSeraperp、nnoc = tm...
相关热词搜索: 开发 java ERP