- DTO封装数
- @RequestBody
- BeanUtils
- Java中的BeanUtils是一组用于操柞JavaBean的工具,它允许你在不了解JavaBean的具体内部结构的情况下,访问和修改其属性。
- copyProperties 对象属性拷贝
- 避免硬编码,多应用常量来代替,例如
定义状态常量类
- 设置密码用DM5加密
//设置密码,默认123456
employee.setPassword
(DigestUtils.md5DigestAsHex(PasswordConstant.DEFAULT_PASSWORD.getBytes()));
- 设置当前时间用LocalDateTime.now()
- 用户名唯一不重复处理办法,全局异常处理中进行
- 捕获异常信息
- 判断异常信息是否包含“Duplicate entry”字段
- true,用split(" ")把异常信息用_分隔,测试中是第2个位置的索引
- 最后返回Result的error方法;
- ThreadLocal,通过ThreadLocal来保存和获取当前登录员工id。
- 为每个线程提供单独一份存储空间,具有线程隔离的效果,只有在线程内才能获取到对应的值,线程外则不能访问。
- set,get,remove
- 分页查询,统一封装成PageResult对象
- PageHelper,Mybatis的分页插件
- 日期属性格式化,两种方式
- 属性上加注解@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- 在 WebMvcConfiguration 中扩展Spring MVC的消息转换器,统一对日期类型进行格式化处理:
- @PathVariable 映射 URL 绑定的占位符
- URL中的 {xxx} 占位符可以通过@PathVariable(“xxx”) 绑定到操作方法的入参中。
-
@PostMapping("/status/{status}") @ApiOperation(value = "启用禁用员工账号") public Result startOrStop(@PathVariable("status") Integer status,Long id){ log.info("启用禁用员工账号: {},{}",status,id); employeeService.startOrStop(status,id); return Result.success(); }
- log.info() 是使用 Java 日志框架进行信息级别日志记录的方法。
- @Builder是 Lombok 库中的一个注解,用于实现 Builder 模式。
- Builder 模式是一种设计模式,通过提供一种灵活的方式来创建对象,尤其是在对象的构造参数较多时。Lombok 的 @Builder 注解可以自动生成一个内部 Builder 类,以及对应的构建方法,从而简化代码的编写。示例:
-
创建对象
-
使用 @Builder 自动生成的 Builder 类来创建对象import lombok.Builder; import lombok.ToString; @Builder @ToString public class User { private String name; private int age; private String email; }
-
public class Main { public static void main(String[] args) { User user = User.builder() .name("John Doe") .age(30) .email("john.doe@example.com") .build(); System.out.println(user); }
- MyBatis动态标签,test里面的条件符合才执行
-
<update id="update"> update employee <set> <if test="username != null">username = #{username},</if> <if test="name != null">name = #{name},</if> </set> where id = #{id}
-
- @PutMapping,是Spring MVC中用于映射HTTP PUT请求到控制器方法的注解。