使用spring mvc框架实现增删改查的功能

1.首先创建一个实体类,例如员工类Employee.java,命名要规范,要么都是单词,要么都是拼音,命名要统一。

public class Employee {

	private int id;//员工ID,自增长
	
	private String bh;//员工编号
	
	private String xm;//员工姓名
	
	private String xb;//性别
	
	private String sr;//生日
	
	private String zw;//职务
	
	private String zz;//住址
	
	private String sfzh;//身份证号
	
	private int bmid;//部门ID

2.再写一个controller逻辑层,名字叫做EmployeeController.java的文件,主要是调用业务层的一些方法,还有把数据传送到前台,实现数据的显示。在类的前面加上@Controller的注解,实现注解扫描。

                // 员工管理界面,查询所有信息
	@RequestMapping("/list")//我的这个名称跟jsp文件中的跳转的名称一致
	public String list(Model model) {
		List<Map<String, Object>> list = employeeDao.getAll();//调用EmployeeDao.java中的方法
		model.addAttribute("list", list);//传到前台jsp文件中
		return "employee/right";//返回到employee文件中right.jsp文件中
	}

                // 增加员工信息的方法
	@RequestMapping("/addd")
	public String addd(Employee employee) {
		employeeDao.add(employee);//调用EmployeeDao中的方法
		return "redirect:/list";// 重定向
	}

	// 删除员工的信息
	@RequestMapping(value = "/employee/delete/{id}", method = RequestMethod.GET)
	public String delete(@PathVariable(value = "id") Integer id) {//传递参数
		employeeDao.delete(id);//调用删除的方法
		return "redirect:/list";//redirect是重定向,重新执行某个方法
	}

	// 修改员工的信息
	@RequestMapping(value = "/employee/update/{id}", method = RequestMethod.POST)
	public String update(@PathVariable(value = "id") Integer id, Employee employee) {
		employeeDao.update(employee, id);
		return "redirect:/list";
	}

	// 根据员工ID来查询员工的信息
	@RequestMapping(value = "/employee/edit/{id}", method = RequestMethod.GET)
	public String getone(@PathVariable(value = "id") Integer id, Model model) {
		List<Map<String, Object>> onelist = employeeDao.edit(id);
		List<Dept> list2 = employeeDao.getAllbm();
		List<Role> jsList = employeeDao.getAlljs();
		model.addAttribute("list2", list2);
		model.addAttribute("jsList", jsList);
		model.addAttribute("onelist", onelist);
		return "/employee/edit";
	}

3.在EmployeeDao.java文件中主要是写一些增删改查的一些方法,在逻辑层调用

        // 增加员工的信息
	public void add(Employee employee) {
		// 增加员工的部门ID,员工编号,员工姓名,员工性别,员工职务,员工住址,员工的身份证号等信息
		String sql = "insert into task_employee (TASK_DEPT_ID,EM_NO,EM_XM,EM_XB,EM_SR,EM_ZW,EM_ZZ,EM_SFZH) values (?,?,?,?,?,?,?,?)";
		jt.update(sql, employee.getBmid(), employee.getBh(), employee.getXm(), employee.getXb(), employee.getSr(),
				employee.getZw(), employee.getZz(), employee.getSfzh());//跟sql语句中的字段的顺序保持一致
	}

	// 根据员工的ID来删除员工的信息,假删除,修改状态
	public void delete(Integer id) {
		// 根据员工的ID来删除员工信息
		String sql = "update task_user set USER_ENABLE = 2 where TASK_EMPLOYEE_ID =?";
		jt.update(sql, id);//参数记得写
	}

	// 查询所有的员工信息
	public List<Map<String, Object>> getAll() {
		// 查询员工表中的所有的信息
		String sql = "select e.ID, e.TASK_USER_ID,e.TASK_DEPT_ID,e.EM_NO,e.EM_XM,e.EM_XB,e.EM_SR,e.EM_ZW,e.EM_ZZ,e.EM_SFZH,u.TASK_EMPLOYEE_ID,u.USER_ENABLE from task_employee as e ,task_user as u where u.TASK_EMPLOYEE_ID =e.ID and u.USER_ENABLE=1";
		List<Map<String, Object>> list = jt.queryForList(sql);
		return list;
	}

	// 根据员工的ID来查询一条信息
	public List<Map<String, Object>> edit(Integer id) {
		// 根据员工的ID查询员工的信息
		String sql = "select ID,TASK_DEPT_ID,EM_NO,EM_XM,EM_XB,EM_SR,EM_ZW,EM_ZZ,EM_SFZH from task_employee where ID=?";
		List<Map<String, Object>> onelist = jt.queryForList(sql, id);
		return onelist;
	}

	// 修改员工的信息
	public void update(Employee employee, Integer id) {
		// 根据员工的信息来修改员工的信息
		String sql = "update task_employee set TASK_DEPT_ID=?,EM_NO=?,EM_XM=?,EM_XB=?,EM_SR=?,EM_ZW=?,EM_ZZ=?,EM_SFZH=? where ID=? ";
		jt.update(sql, employee.getBmid(), employee.getBh(), employee.getXm(), employee.getXb(), employee.getSr(),
				employee.getZw(), employee.getZz(), employee.getSfzh(), employee.getId());
	}

4.在前台jsp界面显示的时候使用<c:forEach>jstl标签,显示集合中的信息,在jsp界面的开头写一句<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>支持jstl标签的使用。

<c:forEach items="${list}" var="i" varStatus="status">
				<tbody>
					<tr>
						<td>${status.index+1}</td>
                        <td>${i.TASK_DEPT_ID}</td>
						<td>${i.EM_NO}</td>
						<td>${i.EM_XM}</td>
						<td>${i.EM_XB}</td>
						<td>${i.EM_SR}</td>
						<td>${i.EM_ZW}</td>
						<td>${i.EM_ZZ}</td>
						<td>${i.EM_SFZH}</td>
						<td><a href="${pageContext.request.contextPath}/employee/edit/${i.id}" class="tablelink">修改</a> <a href="${pageContext.request.contextPath}/employee/delete/${i.id}"
							class="tablelink" onClick="delcfm()"> 删除</a></td>
					</tr>

				</tbody>
			</c:forEach>



猜你喜欢

转载自blog.csdn.net/cxc_happy111/article/details/80719260