小知识点汇总文

1.@Dict注解

@Dict(dictTable = "SYS_DEPART",dicText = "org_code",dicCode = "depart_name")
private String name;
// =  select    org_code(dicText)   from   SYS_DEPART(dictTable)   where  depart_name(dicCode) = #{name}
//得到的数据前端展示时,字段后面需要加上_dictText,数据不会存到数据库

2. Java实体类为什么要序列化 implements Serializable?

private static final long serialVersionUID = 1L; 

a)当你想把的内存中的对象状态保存到一个文件中或者数据库中时候;
 b)当你想用套接字在网络上传送对象的时候;
 c)当你想通过RMI传输对象的时候;

3.实体类上的注解:

@Data   lombok动态生成get/set/toString/equals/hashcode等方法
  相当于@Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode5个注解合集  

@TableName("a") 与数据库表对应 @Accessors(chain = true) 控制是否开启链式加载结构 @EqualsAndHashCode(callSuper = false) 可放在类上,也可放在属性上
【1. 此注解会生成equals(Object other) 和 hashCode()方法。
    2. 它默认使用非静态(static),非瞬态(transient(当我们将对象保存到文件中(序列化)时,所有瞬态字段都将被忽略。))的属性
    3. 可通过参数exclude排除一些属性
    如:@EqualsAndHashCode.Exclude
            //new 两个对象  身份证数据一致 但是名字不一样  使用equals比较两个对象返回false
           //可以使用lombok的该注解修饰name字段,从equlas和hashCode中忽略name字段
           private String name;
           private String identity;
   4. 可通过参数of指定仅使用哪些属性
   5. 它默认仅使用该类中定义的属性且不调用父类的方法
   6. 可通过callSuper=true解决上一点问题。让其生成的方法中调用父类的方法。】 @ApiModel(value="information_security对象", description="信息安全告知管理")       描述信息

4.属性上的注解

@ApiModelProperty(value = "主键")    描述属性信息
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")  需要添加 jackson 依赖
    用于服务器传给前端json数据时对Date类型时间进行的格式化(pattern就表示需要转变的格式,timezone表示处在的时区(国内是东八区)),如果没有用@JsonFormat 对时间进行格式化,返回给前端的将是一个时间戳
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")   将客户端发送过来的时间参数转换成想要的类型。由于客户端传给服务端的时间参数是字符串类型,如果直接使用java.util.Date下的Date接受的话,会报400的异常400异常表示服务器不处理该请求,多半是传入的参数问题

注意:@JsonFormat与@DateTimeFormat只是定义时间参数在客户端和服务端之间转换格式,控制台、Debug显示的还是java.util.Date下的Date类型形式。

5.Controller层

@RestController
@RequestMapping("访问路径")
@Slf4j   用作日志输出,添加了该注释之后,就可以在代码中直接用log.info( ) 打印日志

6.当查询语句中字段名为关键字时,

MybatisPlus中的做法,在实体类字段上加上TableField注解:

7.获取本机ip地址:ipconfig;

8.时间与字符串转换并比较

try {
     SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
     String dead=sdf.format(taskDO.getDeadline());
     String finished=sdf.format(taskDO.getFinishedDate());
     Date deadline = sdf.parse(dead);
     Date finishedDate = sdf.parse(finished);
     if(deadline.before(finishedDate)){
        delayAcceptanceCount = delayAcceptanceCount.add(new BigDecimal(1));
     }
} catch (Exception e) {
      e.printStackTrace();
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值