EmployeesService :
| package com.wzy.service;
import com.wzy.dao.EmployeeMapper;
import com.wzy.pojo.Employee;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class EmployeesService {
@Autowired
private EmployeeMapper employeeMapper;
//查询所有信息、及部门名<br /> **public **List<Employee> getEmployeeAll() {<br /> **return employeeMapper**.selectByExampleWithDept(**null**);<br /> }//插入数据<br /> **public void **saveEmployeeService(Employee employee){<br /> //有选择的插入,id自增 可为null的,列可以为null<br /> **employeeMapper**.insertSelective(employee);<br /> }//根据用户名查询,校验是否存在<br /> **public boolean **checkUser(String empName){<br /> // empName 条件查询,符合条件的个数<br /> **int **nameCount = **employeeMapper**.selectCountWhereName(empName);<br /> //0条为true ,否则为false<br /> **return **nameCount == 0;<br /> }//通过 id 查询员工的信息<br /> **public **Employee getEmployeeById(Integer id) {<br /> Employee employee = **employeeMapper**.selectByPrimaryKey(id);<br /> **return **employee;<br /> }<br />}
| | —- |
EmployeeController :
| 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 {
@Autowired
EmployeesService employeesService;
// @RequestMapping(value = “/list”)
public String getEmployee(@RequestParam(value = “pageNumber”,defaultValue = “1”) Integer pageNumber,
Model model) {
/
pageNumber动态获取第几页
5 此处固定每页显示5条数据
*/
PageHelper.startPage(pageNumber,5);//这方法下的 执行sql的方法 会分页。
List
/
使用pageInfo 包装查询到的信息,只需要将 使用pageInfo 交给 跳转输出页面
封装了详细的分页信息。包括我们查询出来的数据
第一个参数是封装查询到的结果,第二个参数是要连续显示的页数
/
PageInfo pageInfo = new PageInfo(employeesList);
//方到域中
model.addAttribute(“pageInfo”,pageInfo);
return “list”;
}
/*<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 /> }/*<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 /> * @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 /> * @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);**return **Msg.success().add(**"employee"**,employee);<br /> }<br />}
| | —- |
