2021 11 10 添加代码

   1.  先写实体类

两个

package com.java.pojo;

public class Dept {
private int deptNo;
private String deptName;

public Dept(int deptNo, String deptName) {
this.deptNo = deptNo;
this.deptName = deptName;
}

public Dept() {
}

public int getDeptNo() {
return deptNo;
}

public void setDeptNo(int deptNo) {
this.deptNo = deptNo;
}

public String getDeptName() {
return deptName;
}

public void setDeptName(String deptName) {
this.deptName = deptName;
}

@Override
public String toString() {
return "Dept{" +
"deptNo=" + deptNo +
", deptName='" + deptName + '\'' +
'}';
}
}
package com.java.pojo;

import java.util.Date;

public class Emp {
private int empNo;
private String empName;
private String password;
private Date birthday;
private int deptNo;
private Dept dept;

public int getDeptNo() {
return deptNo;
}

public Emp(int empNo, String empName, String password, Date birthday, int deptNo, Dept dept) {
this.empNo = empNo;
this.empName = empName;
this.password = password;
this.birthday = birthday;
this.deptNo = deptNo;
this.dept = dept;
}

public Emp(String empName, String password, Date birthday, int deptNo) {
this.empName = empName;
this.password = password;
this.birthday = birthday;
this.deptNo = deptNo;
}

public void setDeptNo(int deptNo) {
this.deptNo = deptNo;
}

public Emp() {
}

public Dept getDept() {
return dept;
}

public void setDept(Dept dept) {
this.dept = dept;
}

public int getEmpNo(){return empNo;}
public void setEmpNo(int empNo){this.empNo=empNo;}

public String getEmpName() {
return empName;
}

public void setEmpName(String empName) {
this.empName = empName;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public Date getBirthday() {
return birthday;
}

public void setBirthday(Date birthday) {
this.birthday = birthday;
}
}

2.写工具类

package com.java.util;

import com.mchange.v2.c3p0.ComboPooledDataSource;

import javax.sql.DataSource;

public class DBUtil {
public static DataSource getDS(){
ComboPooledDataSource ds=new ComboPooledDataSource();
return ds;
}
}
3.写Dao类
package com.java.dao;

import com.java.pojo.Dept;

import java.util.List;

public interface DeptDao {
List<Dept> getDeptById(int deptNo);
List<Dept> getAllDept();
}
package com.java.dao;

import com.java.pojo.Emp;

import java.util.List;

public interface EmpDao {
List<Emp> getAllEmps();
int addEmp(Emp emp);
}
package com.java.dao.impl;

import com.java.dao.DeptDao;
import com.java.pojo.Dept;
import com.java.util.DBUtil;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;

import java.sql.SQLException;
import java.util.List;

public class DeptDaoImpl implements DeptDao {
private QueryRunner qr=new QueryRunner(DBUtil.getDS());
@Override
public List<Dept> getDeptById(int deptNo) {
String sql="select*from dept where deptNo=?";
List<Dept> dept = null;
try {
dept = qr.query(sql, new BeanListHandler<>(Dept.class),deptNo);
} catch (SQLException throwables) {
throwables.printStackTrace();
}
return dept;
}

@Override
public List<Dept> getAllDept() {
String sql="select *from dept";
List<Dept> deptList = null;
try {
deptList = qr.query(sql, new BeanListHandler<>(Dept.class));
} catch (SQLException throwables) {
throwables.printStackTrace();
}
return deptList;
}
}
package com.java.dao.impl;

import com.java.dao.EmpDao;
import com.java.pojo.Emp;
import com.java.util.DBUtil;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;

import java.sql.SQLException;
import java.util.List;

public class EmpDaoImpl implements EmpDao {
private QueryRunner qr=new QueryRunner(DBUtil.getDS());
@Override
public List<Emp> getAllEmps() {
String sql="select * from emp";
List<Emp> empList = null;
try {
empList = qr.query(sql, new BeanListHandler<>(Emp.class));
} catch (SQLException throwables) {
throwables.printStackTrace();
}
return empList;
}

@Override
public int addEmp(Emp emp) {
String sql="insert into emp(empName,password,birthday,deptNo) values(?,?,?,?)";
int i = 0;
try {
i = qr.update(sql, emp.getEmpName(), emp.getPassword(), emp.getBirthday(), emp.getDeptNo());
} catch (SQLException throwables) {
throwables.printStackTrace();
}
return i;
}
}
4.写服务类
package com.java.service;

import com.java.pojo.Emp;

import java.util.List;

public interface EmpService {
List<Emp> getAllEmps();
int addEmp(Emp emp);
}
package com.java.service;

import com.java.pojo.Dept;

import java.util.List;

public interface DeptService {
Dept getDeptById(int deptNO);
List<Dept> getAllDept();
}
package com.java.service.impl;

import com.java.dao.DeptDao;
import com.java.dao.impl.DeptDaoImpl;
import com.java.pojo.Dept;
import com.java.service.DeptService;

import java.util.List;

public class DeptServiceImpl implements DeptService {
private DeptDao deptDao=new DeptDaoImpl();
@Override
public Dept getDeptById(int deptNO) {
Dept dept = (Dept) deptDao.getDeptById(deptNO);
return dept;
}

@Override
public List<Dept> getAllDept() {
List<Dept> allDept=deptDao.getAllDept();
return allDept;
}
}
package com.java.service.impl;

import com.java.dao.EmpDao;
import com.java.dao.impl.EmpDaoImpl;
import com.java.pojo.Emp;
import com.java.service.EmpService;

import java.util.List;

public class EmpServiceImpl implements EmpService {
private EmpDao empDao=new EmpDaoImpl();
@Override
public List<Emp> getAllEmps() {
List<Emp> allEmps = empDao.getAllEmps();
return allEmps;
}

@Override
public int addEmp(Emp emp) {
int i=empDao.addEmp(emp);
return i;
}
}
5.写serlet
package com.java.service.impl;

import com.java.dao.EmpDao;
import com.java.dao.impl.EmpDaoImpl;
import com.java.pojo.Emp;
import com.java.service.EmpService;

import java.util.List;

public class EmpServiceImpl implements EmpService {
private EmpDao empDao=new EmpDaoImpl();
@Override
public List<Emp> getAllEmps() {
List<Emp> allEmps = empDao.getAllEmps();
return allEmps;
}

@Override
public int addEmp(Emp emp) {
int i=empDao.addEmp(emp);
return i;
}
}
package com.java.servlet;

import com.java.dao.DeptDao;
import com.java.pojo.Dept;
import com.java.pojo.Emp;
import com.java.service.DeptService;
import com.java.service.EmpService;
import com.java.service.impl.DeptServiceImpl;
import com.java.service.impl.EmpServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

@WebServlet("/empList")
public class EmpListServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
EmpService es=new EmpServiceImpl();
DeptService ds=new DeptServiceImpl();
List<Emp> allEmps=es.getAllEmps();
for (Emp emp:allEmps) {
Dept dept=ds.getDeptById(emp.getDeptNo());
emp.setDept(dept);
}
request.getSession().setAttribute("allEmp",allEmps);
response.sendRedirect(request.getContextPath()+"/index.jsp");
}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
package com.java.servlet;

import com.java.pojo.Emp;
import com.java.service.EmpService;
import com.java.service.impl.EmpServiceImpl;
import com.java.util.DateUtil;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet(name = "addEmpServlet")
public class AddEmpServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
String empName=request.getParameter("empName");
String password=request.getParameter("password");
String birthday=request.getParameter("birthday");
int deptNo=Integer.parseInt(request.getParameter("deptNo"));
EmpService empService= new EmpServiceImpl();
int i=empService.addEmp(new Emp(empName,password, DateUtil.stringToDate(birthday),deptNo));
if (i>0){
response.sendRedirect(request.getContextPath()+"/empList");
}else {
response.getWriter().println("添加员工失败");
}

}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
6.写主页 和添加页

posted @ 2021-11-10 11:02  请不要叫我胡歌  阅读(78)  评论(0)    收藏  举报