@TableName("ROD_LOG") public class RodLog implements Serializable{ /** * */ private static final long serialVersionUID = 1L; public RodLog() { super(); } /** * 日志構造方法 * @param system_id * @param module_id * @param file_type * @param file_name * @param file_path * @param create_user * @param opt_type * @param create_time */ public RodLog(String system_id, String module_id, String file_type, String file_name, String file_path, String create_user, String opt_type,Date create_time) { super(); this.system_id = system_id; this.module_id = module_id; this.file_type = file_type; this.file_name = file_name; this.file_path = file_path; this.create_user = create_user; this.opt_type = opt_type; this.create_time = create_time; } /** 主鍵id */ @TableId(type = IdType.UUID,value = "ID") private String id; /** 創建時間 */ @TableField(value = "CREATE_TIME") private Date create_time; /** 系統ID*/ @TableField(value = "SYSTEM_ID") private String system_id; /** 模塊*/ @TableField(value = "MODULE_ID") private String module_id; /** 文件類型:文件file , 文件夾folder */ @TableField(value = "FILE_TYPE") private String file_type; /** 文件名稱*/ @TableField(value = "FILE_NAME") private String file_name; /** 文件完整路徑 */ @TableField(value = "FILE_PATH") private String file_path; /** 操作人 */ @TableField(value = "CREATE_USER") private String create_user; /** 操作類型 */ @TableField(value = "OPT_TYPE") private String opt_type; /** 操作異常消息描述 */ @TableField(value = "ERROR_MSG") private String error_msg; @TableField(exist = false) private String system_name; @TableField(exist = false) private String module_name; @TableField(exist = false) private String opt_type_str; @TableField(exist = false) private String user_name;
上面是數據表對應的實體類
由於service中需要,構造了參數的構造方法,開始沒寫
public RodLog() { super(); }
這個空構造方法;
然后在mybatisplus的.xml文件中
select 字段 from rod_log
但是字段順序並沒有按照構造方法中字段順序來的,后台總是報錯,debugger構造方法,發現把file_type字段賦值給日期字段create_time
字段完全錯亂了,為啥?mybatisplus不是能根據字段名來set get賦值取值的嗎?
兩種解決方法:
1、select 語句按你構造方法中字段順序來寫;
2、加一個默認的不帶參數的構造方法,