| 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.HashMap;
    import java.util.List;
    import java.util.Map;

    @Controller
    public class EmployeeController {

    1. @Autowired<br /> EmployeesService **employeesService**;
    2. /*<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 /> }
    3. /*<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 /> }<br /> }
    4. /*<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 /> }<br />}

    | | —- |