tk mybatis動態sql中過濾不使用的字段


實體字段如下

@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;
}

參考自:https://juejin.im/entry/5a3b482cf265da431281152b


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM