主要业务层和持久层的联系
员工实体Bean
package com.project.bean; import java.sql.Date; /** * 员工信息实体类 * @author 45470 * */ public class EmployeeBean { /**员工id*/ private int empId; /**员工登录名*/ private String empAccount; /**员工登录密码*/ private String empPwd="123456"; /**员工姓名*/ private String empName; /**员工性别*/ private String empSex; /**员工文化程度*/ private String empEdu; /**员工出生日期*/ private Date empBirthday; /**员工联系电话*/ private String empTle; /**员工所属专业*/ private String empProfession; /**员工政治面貌*/ private String empPolitic; /**员工家庭住址*/ private String empAddress; /**工作职位id*/ private int jobId; /**职位名称*/ private String jobName; /**员工部门id*/ private int deptId; /**部门名称*/ private String deptName; /**员工入职日期*/ private Date joinDate=new Date(System.currentTimeMillis()); /**员工头像文件名称或文件路径*/ private String imgPath; /**职位对象,封装用户登录权限*/ private JobBean job; public EmployeeBean() { super(); // TODO Auto-generated constructor stub } public EmployeeBean(String empAccount, String empPwd, String empName, String empSex, String empEdu, Date empBirthday, String empTle, String empProfession, String empPolitic, String empAddress, int jobId, int deptId, Date joinDate, String imgPath) { super(); this.empAccount = empAccount; this.empPwd = empPwd; this.empName = empName; this.empSex = empSex; this.empEdu = empEdu; this.empBirthday = empBirthday; this.empTle = empTle; this.empProfession = empProfession; this.empPolitic = empPolitic; this.empAddress = empAddress; this.jobId = jobId; this.deptId = deptId; this.joinDate=joinDate; this.imgPath = imgPath; } public int getEmpId() { return empId; } public void setEmpId(int empId) { this.empId = empId; } public String getEmpAccount() { return empAccount; } public void setEmpAccount(String empAccount) { this.empAccount = empAccount; } public String getEmpPwd() { return empPwd; } public void setEmpPwd(String empPwd) { this.empPwd = empPwd; } public String getEmpName() { return empName; } public void setEmpName(String empName) { this.empName = empName; } public String getEmpSex() { return empSex; } public void setEmpSex(String empSex) { this.empSex = empSex; } public String getEmpEdu() { return empEdu; } public void setEmpEdu(String empEdu) { this.empEdu = empEdu; } public Date getEmpBirthday() { return empBirthday; } public void setEmpBirthday(Date empBirthday) { this.empBirthday = empBirthday; } public String getEmpTle() { return empTle; } public void setEmpTle(String empTle) { this.empTle = empTle; } public String getEmpProfession() { return empProfession; } public void setEmpProfession(String empProfession) { this.empProfession = empProfession; } public String getEmpPolitic() { return empPolitic; } public void setEmpPolitic(String empPolitic) { this.empPolitic = empPolitic; } public String getEmpAddress() { return empAddress; } public void setEmpAddress(String empAddress) { this.empAddress = empAddress; } public int getJobId() { return jobId; } public void setJobId(int jobId) { this.jobId = jobId; } public String getJobName() { return jobName; } public void setJobName(String jobName) { this.jobName = jobName; } public int getDeptId() { return deptId; } public void setDeptId(int deptId) { this.deptId = deptId; } public String getDeptName() { return deptName; } public void setDeptName(String deptName) { this.deptName = deptName; } public Date getJoinDate() { return joinDate; } public void setJoinDate(Date joinDate) { this.joinDate = joinDate; } public String getImgPath() { return imgPath; } public void setImgPath(String imgPath) { this.imgPath = imgPath; } public JobBean getJob() { return job; } public void setJob(JobBean job) { this.job = job; } @Override public String toString() { return "EmployeeBean [empId=" + empId + ", empAccount=" + empAccount + ", empPwd=" + empPwd + ", empName=" + empName + ", empSex=" + empSex + ", empEdu=" + empEdu + ", empBirthday=" + empBirthday + ", empTle=" + empTle + ", empProfession=" + empProfession + ", empPolitic=" + empPolitic + ", empAddress=" + empAddress + ", jobId=" + jobId + ", jobName=" + jobName + ", deptId=" + deptId + ", deptName=" + deptName + ", joinDate=" + joinDate + ", imgPath=" + imgPath + ", job=" + job + "]"; } }
持久层接口
package com.project.dao; import java.util.List; import com.project.bean.DeptBean; import com.project.bean.EmployeeBean; import com.project.bean.JobBean; /** * 员工类持久化接口 * @author Administrator * */ public interface IEmployeeDao { /** * 登录方法,查询拥有用户名和密码的对象,若果没有返回空 * @param userName 用户登录名 * @param pwd 密码 * @return 拥有用户名和密码的员工对象,如果没有返回空 */ public EmployeeBean login(String userName,String pwd); /** * 添加员工 * @param bean 员工对象 */ public void add(EmployeeBean bean); /** * 按id删除员工 * @param emId */ public void del(int emId); /** * 按照员工id查询员工信息,包含职位名称,部门名称 * @param emId * @return */ public EmployeeBean findById(int emId); /** * 按照员工的id,修改员工的所在部门id,联系方式,政治面貌,工作职位 * @param emId 员工的id * @param emTel 员工新的联系方式 * @param deptId 员工新的部门id * @param politic 员工新的政治面貌 * @param jobId 员工新的职位 */ public void update(int emId,String emTel, int deptId,String politic,int jobId); /** * 动态查询员工信息,姓名为模糊查询 * @param enName * @param emEdu * @param emDept * @param jobName * @return */ public List<EmployeeBean> findByItem(String enName,String emEdu,String emDept,String jobName ); /** * 通过部门id,连表查询部门所有员工,部门表左外连接 * @param deptId * @return */ public List<EmployeeBean> findByDeptId(int deptId); /** *连接学校表,部门表,员工表,按照学校id查询负责部门的所有员工 * @param schoolId 学校id * @return 员工对象集合 */ public List<EmployeeBean> findBySchool(int schoolId); /** * 按照id修改密码 * @param id 员工id * @param newPwd xinmi */ public void updatePwd(int id,String newPwd); }
持久层实现类
package com.project.impl; import java.sql.Connection; import java.sql.Date; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import com.project.bean.EmployeeBean; import com.project.dao.IEmployeeDao; /** * 员工持久实现类 * @author Administrator * */ public class EmployeeDaoImpl extends BaseDao implements IEmployeeDao { public static void main(String[] args) { IEmployeeDao dao=new EmployeeDaoImpl(); //System.out.println(dao.login("aaa", "123")); //dao.add(new EmployeeBean("tuhao","2222", "java", "男", "本科", Date.valueOf("2001-02-01"), "12323244", "篮球", "团员", "北京", 1, 1, new Date(System.currentTimeMillis()), "c:/djsdasj")); //dao.del(1); //System.out.println(dao.findById(2)); //dao.update(2,"22222",3,"党员", 3); //System.out.println(dao.findByItem("","大专", null,null)); //dao.updatePwd(3, "22"); //System.out.println( dao.findByDeptId(4)); // System.out.println(dao.findBySchool(3)); } @Override public EmployeeBean login(String userName, String pwd) { EmployeeBean bean=null; this.setConnection(); try { ps=con.prepareStatement("select*from t_employee where em_account=? and em_pwd=?"); ps.setString(1, userName); ps.setString(2, pwd); rs=ps.executeQuery(); if(rs.next()){ bean=new EmployeeBean(); bean.setEmpId(rs.getInt("em_id")); bean.setEmpAccount(rs.getString("em_account")); bean.setEmpPwd(rs.getString("em_pwd")); bean.setEmpName(rs.getString("em_name")); bean.setEmpSex(rs.getString("em_sex")); bean.setEmpEdu(rs.getString("em_edu")); bean.setEmpBirthday(rs.getDate("em_birthday")); bean.setEmpTle(rs.getString("em_tel")); bean.setEmpProfession(rs.getString("em_profession")); bean.setEmpPolitic(rs.getString("em_politic")); bean.setEmpAddress(rs.getString("em_address")); bean.setJobId(rs.getInt("em_jobId")); bean.setDeptId(rs.getInt("em_deptId")); bean.setImgPath(rs.getString("em_imgPath")); bean.setJoinDate(rs.getDate("em_joinDate")); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { this.closeConnection(); } return bean; } @Override public void add(EmployeeBean bean) { this.setConnection(); try { ps=con.prepareStatement("insert into t_employee(em_account,em_pwd,em_name,em_sex,em_edu,em_birthday," + "em_tel,em_profession,em_politic,em_address,em_jobId,em_deptId,em_joindate,em_imgPath) " + "values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)"); ps.setString(1,bean.getEmpAccount()); ps.setString(2,bean.getEmpPwd()); ps.setString(3,bean.getEmpName()); ps.setString(4,bean.getEmpSex()); ps.setString(5,bean.getEmpEdu()); ps.setDate(6,bean.getEmpBirthday()); ps.setString(7,bean.getEmpTle()); ps.setString(8,bean.getEmpProfession()); ps.setString(9, bean.getEmpPolitic()); ps.setString(10, bean.getEmpAddress()); ps.setInt(11,bean.getJobId()); ps.setInt(12, bean.getDeptId()); ps.setDate(13,bean.getJoinDate()); ps.setString(14,bean.getImgPath()); ps.executeUpdate(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { this.closeConnection(); } } @Override public void del(int emId) { this.setConnection(); try { ps=con.prepareStatement("delete from t_employee where em_id=?"); ps.setInt(1, emId); ps.executeUpdate(); } catch (Exception e) { e.printStackTrace(); }finally { this.closeConnection(); } } @Override public EmployeeBean findById(int emId) { this.setConnection(); EmployeeBean bean=new EmployeeBean(); try { ps=con.prepareStatement("SELECT e.*,j.job_name,d.dept_name FROM t_employee e,t_job j,t_dept d WHERE e.em_jobId=j.job_id AND e.em_deptId=d.dept_id AND em_id =?"); ps.setInt(1, emId); rs=ps.executeQuery(); if(rs.next()){ bean.setEmpId(rs.getInt("em_id")); bean.setEmpAccount(rs.getString("em_account")); bean.setEmpPwd(rs.getString("em_pwd")); bean.setEmpName(rs.getString("em_name")); bean.setEmpSex(rs.getString("em_sex")); bean.setEmpEdu(rs.getString("em_edu")); bean.setEmpBirthday(rs.getDate("em_birthday")); bean.setEmpTle(rs.getString("em_tel")); bean.setEmpProfession(rs.getString("em_profession")); bean.setEmpPolitic(rs.getString("em_politic")); bean.setEmpAddress(rs.getString("em_address")); bean.setJobId(rs.getInt("em_jobId")); bean.setDeptId(rs.getInt("em_deptId")); bean.setImgPath(rs.getString("em_imgPath")); bean.setJoinDate(rs.getDate("em_joinDate")); bean.setDeptName(rs.getString("dept_name")); bean.setJobName(rs.getString("job_name")); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { this.closeConnection(); } return bean; } @Override public void update( int emId, String emTel, int deptId, String politic, int jobId) { this.setConnection(); try { ps=con.prepareStatement("update t_employee set em_tel=?,em_deptId=?,em_politic=?,em_jobId=? where em_id=? "); ps.setString(1, emTel); ps.setInt(2, deptId); ps.setString(3,politic); ps.setInt(4, jobId); ps.setInt(5, emId); ps.executeUpdate(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { this.closeConnection(); } } @Override public List<EmployeeBean> findByItem(String enName, String emEdu, String emDept, String jobName) { this.setConnection(); List<EmployeeBean> list =new ArrayList<EmployeeBean>(); String sql="SELECT e.*,d.dept_name,j.job_name FROM t_employee e,t_dept d,t_job j WHERE e.em_deptId=d.dept_id AND e.em_jobId=j.job_id "; if(enName!=null&&enName.length()!=0){ sql+=" and e.em_name like ‘%"+enName+"%‘ "; } if(emEdu!=null&&emEdu.length()!=0){ sql+=" and e.em_edu=‘"+emEdu+"‘ " ; } if(emDept!=null&&emDept.length()!=0){ sql+=" and d.dept_name like ‘%"+emDept+"&‘ "; } if(jobName!=null&&jobName.length()!=0){ sql+=" and j.job_namelike ‘%"+jobName+"&‘ "; } try { ps=con.prepareStatement(sql); rs=ps.executeQuery(); while(rs.next()){ EmployeeBean bean=new EmployeeBean(); bean.setEmpId(rs.getInt("em_id")); bean.setEmpAccount(rs.getString("em_account")); bean.setEmpPwd(rs.getString("em_pwd")); bean.setEmpName(rs.getString("em_name")); bean.setEmpSex(rs.getString("em_sex")); bean.setEmpEdu(rs.getString("em_edu")); bean.setEmpBirthday(rs.getDate("em_birthday")); bean.setEmpTle(rs.getString("em_tel")); bean.setEmpProfession(rs.getString("em_profession")); bean.setEmpPolitic(rs.getString("em_politic")); bean.setEmpAddress(rs.getString("em_address")); bean.setJobId(rs.getInt("em_jobId")); bean.setDeptId(rs.getInt("em_deptId")); bean.setImgPath(rs.getString("em_imgPath")); bean.setJoinDate(rs.getDate("em_joinDate")); list.add(bean); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { this.closeConnection(); } return list; } @Override public List<EmployeeBean> findByDeptId(int deptId) { List<EmployeeBean> list=new ArrayList<EmployeeBean>(); this.setConnection(); try {// 我SELECT e.* FROM t_employee e,t_dept d WHERE e.em_deptId=d.dept_id AND d.dept_id=? ps=con.prepareStatement("select *from t_employee where em_deptId=?"); ps.setInt(1, deptId); rs=ps.executeQuery(); while(rs.next()){ EmployeeBean bean=new EmployeeBean(); bean.setEmpId(rs.getInt("em_id")); bean.setEmpAccount(rs.getString("em_account")); bean.setEmpPwd(rs.getString("em_pwd")); bean.setEmpName(rs.getString("em_name")); bean.setEmpSex(rs.getString("em_sex")); bean.setEmpEdu(rs.getString("em_edu")); bean.setEmpBirthday(rs.getDate("em_birthday")); bean.setEmpTle(rs.getString("em_tel")); bean.setEmpProfession(rs.getString("em_profession")); bean.setEmpPolitic(rs.getString("em_politic")); bean.setEmpAddress(rs.getString("em_address")); bean.setJobId(rs.getInt("em_jobId")); bean.setDeptId(rs.getInt("em_deptId")); bean.setImgPath(rs.getString("em_imgPath")); bean.setJoinDate(rs.getDate("em_joinDate")); list.add(bean); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { this.closeConnection(); } return list; } @Override public List<EmployeeBean> findBySchool(int schoolId) { List<EmployeeBean> list=new ArrayList<EmployeeBean>(); this.setConnection(); try {//我SELECT e.* FROM t_employee e,t_school s WHERE e.em_id=s.sch_functionary AND sch_id=? ps=con.prepareStatement("SELECT e.* FROM t_employee e,t_dept d,t_school s WHERE e.em_deptId=d.dept_id AND s.sch_dept=d.dept_id AND s.sch_id=?"); ps.setInt(1, schoolId); rs=ps.executeQuery(); while(rs.next()){ EmployeeBean bean=new EmployeeBean(); bean.setEmpId(rs.getInt("em_id")); bean.setEmpAccount(rs.getString("em_account")); bean.setEmpPwd(rs.getString("em_pwd")); bean.setEmpName(rs.getString("em_name")); bean.setEmpSex(rs.getString("em_sex")); bean.setEmpEdu(rs.getString("em_edu")); bean.setEmpBirthday(rs.getDate("em_birthday")); bean.setEmpTle(rs.getString("em_tel")); bean.setEmpProfession(rs.getString("em_profession")); bean.setEmpPolitic(rs.getString("em_politic")); bean.setEmpAddress(rs.getString("em_address")); bean.setJobId(rs.getInt("em_jobId")); bean.setDeptId(rs.getInt("em_deptId")); bean.setImgPath(rs.getString("em_imgPath")); bean.setJoinDate(rs.getDate("em_joinDate")); list.add(bean); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ this.closeConnection(); } return list; } @Override public void updatePwd(int id, String newPwd) { this.setConnection(); try { ps=con.prepareStatement("update t_employee set em_pwd=? where em_id=?"); ps.setString(1, newPwd); ps.setInt(2, id); ps.executeUpdate(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { this.closeConnection(); } } }
业务层接口
package com.project.service; import java.util.List; import com.project.bean.EmployeeBean; /** * 员工实体类业务接口 * @author Administrator * */ public interface IEmployeeService { /** * 登录业务。查询拥有用户名和密码的对象,如果没找到返回空 * 如果登录成功,封装职位对象 * @param userName 用户名 * @param pwd 密码 * @return 拥有用户密码的员工对象,如果没有返回null */ public EmployeeBean login(String userName,String pwd); /** * 添加新员工 * @param bean 员工对象 */ public void add(EmployeeBean bean); /** * 按员工id删除员工,删除员工之前,先将该员工负责的学校,负责人外键设置为null * @param emId 员工id */ public void del(int emId); /** * 通过id查询员工,同时查询部门的名称和职位的名称 * @param emId 员工id * @return 员工对象 */ public EmployeeBean findById(int emId); /** * 按照选择员工的id修改员工的所在部门,联系方式,政治面貌,工作职位 * @param emId 所选择员工的id * @param emTel 员工新的联系方式 * @param deptId 员工新的部门id * @param politic 员工新的政治面貌 * @param jobId 员工新的职位id */ public void update(int emId,String emTel,int deptId,String politic,int jobId); /** * 动态条件查询员工,同时查询员工的部门名称和职位名称 * @param emName 按员工姓名模糊查找 * @param emEdu 按文化程度查找 * @param emDept 按所在部门查询 * @param jobName 按工作职位查询 * @return 员工对象集合 */ public List<EmployeeBean> findByItem(String emName,String emEdu,String emDept,String jobName); /** * 通过部门id查询部门所有员工 * @param deptId 部门id * @return 员工对象集合 */ public List<EmployeeBean> findByDeptId(int deptId); /** * 查询指定id的学校,负责部门所有员工 * @param schoolId 学校ID * @return 员工集合 */ public List<EmployeeBean> findBySchool(int schoolId); /** * 按id修改密码 * @param id 员工id * @param newPwd 员工新密码 */ public void updatePwd(int id,String newPwd); }
业务层实现类
package com.project.service.impl; import java.sql.Date; import java.text.SimpleDateFormat; import java.util.List; import com.project.bean.EmployeeBean; import com.project.bean.LogBean; import com.project.dao.IEmployeeDao; import com.project.dao.IJobDao; import com.project.dao.ILogDao; import com.project.dao.ISchoolDao; import com.project.impl.EmployeeDaoImpl; import com.project.impl.JobDaoImpl; import com.project.impl.LogDaoImpl; import com.project.impl.SchoolDaoImpl; import com.project.service.IEmployeeService; import sun.java2d.pipe.SpanShapeRenderer.Simple; /** * 员工业务接口实现类 * @author Administrator * */ public class EmployeeServiceImpl implements IEmployeeService { private IEmployeeDao emDao=new EmployeeDaoImpl(); private IJobDao jobDao=new JobDaoImpl(); private ISchoolDao schDao=new SchoolDaoImpl(); private ILogDao logDao=new LogDaoImpl(); public static void main(String[] args) { IEmployeeService service=new EmployeeServiceImpl(); //System.out.println(service.login("jjj","123")); } @Override public EmployeeBean login(String userName, String pwd) { EmployeeBean bean=emDao.login(userName, pwd); if(bean!=null){ bean.setJob(jobDao.findById(bean.getJobId())); SimpleDateFormat sd=new SimpleDateFormat("HH:hh"); String str="用户"+userName+"在"+sd.format(new Date(System.currentTimeMillis()))+"登录系统"; LogBean logBean=new LogBean(); logBean.setLogContent(str); logDao.add(logBean); } return bean; } @Override public void add(EmployeeBean bean) { emDao.add(bean); } @Override public void del(int emId) { schDao.updateSchoolByEmIdNULL(emId); emDao.del(emId); } @Override public EmployeeBean findById(int emId) { return emDao.findById(emId); } @Override public void update(int emId, String emTel, int deptId, String politic, int jobId) { emDao.update(emId, emTel, deptId, politic, jobId); } @Override public List<EmployeeBean> findByItem(String emName, String emEdu, String emDept, String jobName) { return emDao.findByItem(emName, emEdu, emDept, jobName); } @Override public List<EmployeeBean> findByDeptId(int deptId) { return emDao.findByDeptId(deptId); } @Override public List<EmployeeBean> findBySchool(int schoolId) { return emDao.findBySchool(schoolId); } @Override public void updatePwd(int id, String newPwd) { emDao.updatePwd(id, newPwd); } }
时间: 2024-10-08 22:10:29