项目开发学习记录Day2

DTO相关

当前端传来的数据与实体类差别很大时需要使用DTO来传输

DTO数据存入数据库时仍需用到实体类使用对象属性拷贝

LocalDateTime和Date

相较于Date,LocalDateTime优势如下

1.线程安全
2.并且对日期修改更加简单,功能更加强大
3.增加对时区的支持

全局异常处理

在类上使用@ControllerAdvice 注解,作为组件交给Spring管理
然后在方法上通过@ExceptionHandler 注解来具体指明一个异常的类型
然后处理异常

TheadLocal

Tomcat的每处理一个请求都是一个线程,TheadLocal为每一个线程都提供单独的一份存储空间
通过存储到ThreadLocal可以实现JWT令牌的获取

日期格式转换

可以在实体类中使用注解转换

在配置类中设置消息转换器(作用于全局)

配置类有两种实现方式

继承WebMvcConfigurer 接口(更加推荐,灵活)
继承WebMvcConfigurationSupport抽象类(适合大量配置的时候)

对于公共字段的处理

当新增或更新数据时都需要修改新增或改变更新时间或者更新人
此时考虑使用AOP切面对这些操作同一处理,减少冗余代码

@Conditional注解

当满足指定的条件时才创建到容器中,此外还有一些该注解的扩展
作用在类和方法上

文件名截取

String newFilename = originalFilename.substring(originalFilename.lastIndexOf("."));

useGeneratedKeys="true" keyProperty="id"

主键回填

用于类似插入查找再插入这样的操作,由于是一个事务,直接查主键是查不到的,需要凭借它返回主键值

标签

自动去除update语句最后一个字段多余的逗号

多条插入动态sql


        insert into dish_flavor (dish_id, name, values)
        values (#{dishId}, #{name}, #{values})
        
            (#{df.dishId}, #{df.name}, #{df.values})
        
    

你可能感兴趣的:(项目开发学习记录,java,开发语言)