在做项目的时候遇到报错:
Error updating database. Cause: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Invalid JSON text: "The document is empty." at position 0 in value for column 'request.params'.
在MySQL数据库中params字段为json类型,在项目中使用MyBatis-Plus可以将json类型的params字段映射为String类型。但是在使用MyBatis-Plus进行插入操作时,将String类型的params插入MySQL就会报错。为解决这个问题需要在entity中将params字段映射为JSONObject类型。
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "request",autoResultMap = true)
public class Request {
@TableId
private Long id;
@TableField(typeHandler = JacksonTypeHandler.class)
private JSONObject params;
}