为图省事,经常会一个对象,又当mybatis
映射的对象,又当给前端交互的对象,又当业务处理用。添加一个表,一个业务,一个对象搞定。
表交互相关:
-
@Transient
注解
现在都不在xml里写sql了,当对象里有字段但是sql
不需要,插入就会报错,字段上加上@Transient
注解搞定。 -
@ID
注解
常用的还有@Id
在对象执行插入后,会把自增id返回到这个字段。 -
@Column
注解
在对象和mybatis交互是默认是把aaBB自动和aa_bb字段映射,但是特殊情况需要修改可以用@Column(name = "inst_time")
注解指定。 -
@Table
注解
如果不加这个注解指定对应的表名,会按照实体类的名字推测表名,比如实体类叫AeCompanyApiConfigEntity,表名对应的应为ae_company_api_config_entity;
前端交互:
-
@JsonFormat
注解
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
这个在转json
的时候,自动把Date
类型转为固定格式的字符串。
fastjson
请用@JSONField(format = "yyyy-MM-dd HH:mm:ss")
-
@JsonIgnore
注解
在给前端返回json的时候,默认会舍去为null的字段。有些值,我们不管有没有赋值,都不想返回给前端,就可以用到这个注解。
注意: 要分析实际代码是用的fastJson
还是jackson
。我们序列化json是用的fastjson
所以得用:@JSONField(serialize = false)
注解代替。
lombok:
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
不用写getter,setter,构造方法,以及提供了丝滑的建造者模式创建对象。
网友评论