当前使用版本(必须填写清楚,否则不予处理)

mybatis-plus 3.2.0

该问题是怎么引起的?(最新版上已修复的会直接close掉)

mybatis plus 生成的sql 没有对列名和内置函数名相同的进行转义,返回的值不是存储预期值,而是函数调用值。 期望的sql: 9855EB77-7CD3-4FF9-AE1A-EEA4AA5723E2

实际的sql 生成的sql

重现步骤

1.在mysql建一张表 CREATE TABLEdmcs_sequence(idint(11) NOT NULL AUTO_INCREMENT,current_valint(11) NOT NULL DEFAULT '0',minint(11) NOT NULL DEFAULT '0',maxint(11) NOT NULL DEFAULT '0',current_datedate NOT NULL DEFAULT '1970-01-01' COMMENT '当前日期',gmt_createtimestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间',gmt_modifytimestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '修改时间', PRIMARY KEY (id) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='序列';

2.利用mysql-generator建立对象 `public class DmcsSequence implements Serializable {

private static final long serialVersionUID = 1L;

@TableId(value = "id", type = IdType.AUTO)
private Integer id;

private Integer currentVal;

private Integer min;

private Integer max;

@ApiModelProperty(value = "当前日期")
private Date currentDate;

@ApiModelProperty(value = "创建时间")
private Date gmtCreate;

@ApiModelProperty(value = "修改时间")
private Date gmtModify;

}以及mapper public interface DmcsSequenceMapper extends BaseMapper { } `

3.调用DmcsSequenceMapper selectById方法 返回的DmcsSequence检查字端currentDate

报错信息

期望返回值 D8CFA541-565C-49B1-B2EB-0A9F0B9D0E86 实际返回值

当天日期

期望和实际返回值不相等。

Comment From: miemieYaho

自行注解,看文档

Comment From: jinspire

可以使用
Screen Shot 2020-01-13 at 3 47 33 PM 解决,下次麻烦请对解决方案回答的透彻一些。