导入maven
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3</version>
</dependency>
导入配置
@Configuration
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
// 防止全表更新的拦截器
interceptor.addInnerInterceptor(new BlockAttackInnerInterceptor());
// 实现一个乐观锁的控制
interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
// 添加一个分页拦截器
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}
crud
// 退出登录功能
@PostMapping("/logout")
public R<String> logout(HttpServletRequest request){
//清理Session中保存的当前登录员工的id
request.getSession().removeAttribute("employee");
return R.success("退出成功");
}
// 新增员工
@PostMapping
public R<String> addEmployee(HttpServletRequest request,@RequestBody Employee employee) {
//1、将页面提交的密码password进行md5加密处理
employee.setPassword(DigestUtils.md5DigestAsHex("123456".getBytes()));
employeeService.save(employee);
return R.success("新增员工成功");
}
// 员工分页查询
@GetMapping("/page")
public R<Page> findEmployee(int page,int pageSize,String name) {
Page pageInfo = new Page(page,pageSize);
LambdaQueryWrapper<Employee> employeeLambdaQueryWrapper = new LambdaQueryWrapper<>();
employeeLambdaQueryWrapper.like(StringUtils.isNotEmpty(name),Employee::getName,name);
employeeLambdaQueryWrapper.orderByAsc(Employee::getUsername);
// 分页查询
employeeService.page(pageInfo, employeeLambdaQueryWrapper);
return R.success(pageInfo);
}
// 员工的禁用启用和编辑,根据ById来实现
@PutMapping
public R<String> update(HttpServletRequest request, @RequestBody Employee employee) {
log.info("放回的数据是{}",employee);
employeeService.updateById(employee);
return R.success("员工信息修改成功");
}
// 编辑员工,根据ById来查询员工信息
@GetMapping("/{id}")
public R<Employee> selectById(@PathVariable Long id) {
log.info("{}",id);
Employee employee = employeeService.getById(id);
if (employee == null) {
return R.error("查无此人");
}
return R.success(employee);
}