Controller:

    • 改造单个删除方法为:单个删除、批量删除同用。 | package com.wzy.controller;

    import com.github.pagehelper.PageHelper;
    import com.github.pagehelper.PageInfo;
    import com.wzy.pojo.Employee;
    import com.wzy.pojo.Msg;
    import com.wzy.service.EmployeesService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.validation.BindingResult;
    import org.springframework.validation.FieldError;
    import org.springframework.web.bind.annotation.*;

    import javax.validation.Valid;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;

    @Controller
    public class EmployeeController {
    @Autowired
    EmployeesService employeesService;

    1. /*<br /> * @Description: 单个删除、批量删除<br /> * @Author: WangZiYao<br /> * @Date: 2021/9/5 22:24<br /> */<br /> @ResponseBody<br /> @RequestMapping(value = **"/deleteEmployeeByOne/{ids}"**,method = RequestMethod.**DELETE**)<br /> **public **Msg deleteEmployeeByOne(@PathVariable(**"ids"**) String ids){<br /> **if **(ids.contains(**"-"**)){//包含-是批量删除<br /> String[] strIds = ids.split(**"-"**);<br /> List<Integer> idsList = **new **ArrayList<>();<br /> **for **(String strId : strIds) {<br /> idsList.add(Integer.parseInt(strId));<br /> }<br /> **employeesService**.deleteBatch(idsList);<br /> **return **Msg.success();<br /> }**else**{//单个删除<br /> **int **id = Integer.parseInt(ids);<br /> **employeesService**.deleteEployeeById(id);<br /> **return **Msg.success();<br /> }
    2. }
    3. /*<br /> * @Description: 分页查询、显示员工信息<br /> * @Author: WangZiYao<br /> * @Date: 2021/9/2 12:05<br /> */<br /> @RequestMapping(value = **"/list"**)<br /> @ResponseBody//使用jackson依赖后,可以将返回值,自动转为json<br /> **public **Msg getEmployeeWithJson(@RequestParam(value = **"pageNumber"**,defaultValue = **"1"**) Integer pageNumber,<br /> Model model){<br /> /**<br /> *pageNumber动态获取第几页<br /> *5 此处固定每页显示5条数据<br /> */<br /> PageHelper.startPage(pageNumber,5);//这方法下的 执行sql的方法 会分页。<br /> List<Employee> employeesList = **employeesService**.getEmployeeAll();<br /> /**<br /> * 使用pageInfo 包装查询到的信息,只需要将 使用pageInfo 交给 跳转输出页面<br /> * 封装了详细的分页信息。包括我们查询出来的数据<br /> * 第一个参数是封装查询到的结果,第二个参数是要连续显示的页数<br /> */<br /> PageInfo pageInfo = **new **PageInfo(employeesList);<br /> //返回 pageInfo 的json<br /> **return **Msg.success().add(**"pageInfo"**,pageInfo);<br /> }
    4. /*<br /> * @Description: 保存功能<br /> * @Author: WangZiYao<br /> * @Date: 2021/9/2 12:05<br /> * @Valid:获取并封装对象以后,数据需要校验<br /> * BindingResult result:校验的结果<br /> */<br /> @ResponseBody//使用jackson依赖后,可以将返回值,自动转为json<br /> @RequestMapping(value = **"/save"**,method = RequestMethod.**POST**)<br /> **public **Msg saveEmployee(@Valid Employee employee, BindingResult result){//自动封装为 Employee<br /> **if **(result.hasErrors()){//校验失败<br /> //校验失败,返回失败信息,在模态框框中显示校验失败的错误信息<br /> Map<String, Object> map = **new **HashMap<>();<br /> //获取失败的错误信息<br /> List<FieldError> fieldErrors = result.getFieldErrors();<br /> **for **(FieldError fieldError : fieldErrors) {<br /> System.**out**.println(**"错误的字段名:" **+ fieldError.getField());<br /> System.**out**.println(**"错误信息:" **+ fieldError.getDefaultMessage());<br /> //错误信息,保存到Map<br /> map.put(fieldError.getField(),fieldError.getDefaultMessage());<br /> }<br /> **return **Msg.fail().add(**"fieldErrors"**,map);<br /> }**else**{//校验成功<br /> **employeesService**.saveEmployeeService(employee);<br /> **return **Msg.success();<br /> }
    5. }
    6. /*<br /> * @Description: 校验添加的用户是否存在<br /> * @Author: WangZiYao<br /> * @Date: 2021/9/4 22:25<br /> */<br /> @ResponseBody//使用jackson依赖后,可以将返回值,自动转为json<br /> @RequestMapping(value = **"/distinctuser"**,method = RequestMethod.**POST**)<br /> **public **Msg checkuser(@RequestParam(**"empName"**) String empName){//获取Ajax请求中data携带的 empName 参数的值<br /> //通过 empName 的 value用户名,调用service中的方法,条件查询,此用户名是否存在<br /> **boolean **count = **employeesService**.checkUser(empName);<br /> //如果查询获取到的 name 与 输入的用户 内容不样,则 用户不存在,返回 Msg成功的方法<br /> **if **(count){<br /> Msg msg = Msg.success();<br /> **return **msg;<br /> //如果查询获取到的 name 与 输入的用户 内容一样,则 用户已存在,返回 Msg失败的方法<br /> }**else **{<br /> Msg msg = Msg.fail();<br /> **return **msg;<br /> }<br /> }
    7. /*<br /> * @Description: 查询单条员工信息<br /> * @Author: WangZiYao<br /> * @Date: 2021/9/5 12:02<br /> */<br /> @ResponseBody<br /> @RequestMapping(value = **"/getEmployee/{id}"**,method = RequestMethod.**GET**)<br /> **public **Msg getEmployee(@PathVariable(**"id"**) Integer id){<br /> Employee employee = **employeesService**.getEmployeeById(id);
    8. **return **Msg.success().add(**"employee"**,employee);<br /> }
    9. /*<br /> * @Description: 修改功能<br /> * @Author: WangZiYao<br /> * @Date: 2021/9/5 14:22<br /> */<br /> @ResponseBody<br /> @RequestMapping(value = **"/updateEmployee/{empId}"**,method = RequestMethod.**PUT**)//{empId}与javaben中的id名称相同<br /> **public **Msg updateEmployee(Employee employee){<br /> //System.out.println(employee);<br /> **employeesService**.addEmployee(employee);<br /> **return **Msg.success();<br /> }<br />}

    | | —- |

    Service:

    | package com.wzy.service;

    import com.wzy.dao.EmployeeMapper;
    import com.wzy.pojo.Employee;
    import com.wzy.pojo.EmployeeExample;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;

    import java.util.List;

    @Service
    public class EmployeesService {
    @Autowired
    private EmployeeMapper employeeMapper;

    1. //批量删除<br /> **public void **deleteBatch(List<Integer> idsList) {<br /> //条件删除<br /> EmployeeExample example = **new **EmployeeExample();<br /> EmployeeExample.Criteria criteria = example.createCriteria();<br /> //delete from xxx where emp_if in(1,2,3)<br /> criteria.andEmpIdIn(idsList);<br /> **employeeMapper**.deleteByExample(example);<br /> }<br /> <br /> //通过 id 删除 单条<br /> **public int **deleteEployeeById(Integer id) {<br /> **int **i = **employeeMapper**.deleteByPrimaryKey(id);<br /> **return **i;<br /> }
    2. //查询所有信息、及部门名<br /> **public **List<Employee> getEmployeeAll() {<br /> **return employeeMapper**.selectByExampleWithDept(**null**);<br /> }
    3. //插入数据<br /> **public void **saveEmployeeService(Employee employee){<br /> //有选择的插入,id自增 可为null的,列可以为null<br /> **employeeMapper**.insertSelective(employee);<br /> }
    4. //根据用户名查询,校验是否存在<br /> **public boolean **checkUser(String empName){<br /> // empName 条件查询,符合条件的个数<br /> **int **nameCount = **employeeMapper**.selectCountWhereName(empName);<br /> //0条为true ,否则为false<br /> **return **nameCount == 0;<br /> }
    5. //通过 id 查询员工的信息<br /> **public **Employee getEmployeeById(Integer id) {<br /> Employee employee = **employeeMapper**.selectByPrimaryKey(id);<br /> **return **employee;<br /> }
    6. //修改<br /> **public int **addEmployee(Employee employee) {<br /> **int **i = **employeeMapper**.updateByPrimaryKeySelective(employee);<br /> **return **i;<br /> }

    }

    | | —- |