0
点赞
收藏
分享

微信扫一扫

tk mybatis动态sql中过滤不使用的字段

sin信仰 2022-08-18 阅读 67

实体字段如下

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
/***
* app图标
*/
@JsonFormat
public class ApiCertificate{
@Id
@GeneratedValue(generator = "JDBC")
private Integer id;

private String url;

private Integer order;

private Integer creatorId;

@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime createTime;
}

数据库使用主键自增,因此在插入sql时不再需要以下形式

insert to api_cert(id,url,order,creator_id) value(?,?,?,?)

实际插入语句

以下即可

insert to api_cert(url,order,creator_id) values(?,?,?)

解决办法,在主键上加注解

@Transient  此关键字是JSR-220/JSR-338注解
修改后代码如下

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xxx.web.bean.PagesStatic;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Transient;
import java.time.LocalDateTime;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
/***
* app图标
*/
@JsonFormat
public class ApiCertificate{
@Id
@GeneratedValue(generator = "JDBC")
@Transient
private Integer id;

private String url;

private Integer order;

private Integer creatorId;

@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime createTime;
}

举报

相关推荐

0 条评论