問(wèn)題描述:
在使用如下代碼進(jìn)行查詢(xún)時(shí),報(bào)Error attempting to get column ‘ID’ from result set錯(cuò)誤:
LambdaQueryWrapper<TimeFeature> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(TimeFeature::getDate, currentDateTime);
TimeFeature timeFeature = timeFeatureMapper.selectOne(wrapper);
首先排除數(shù)據(jù)庫(kù)字段大小寫(xiě)問(wèn)題。
然后考慮ID字段在本輪邏輯中不是很重要,對(duì)代碼做了如下更改,指定了查詢(xún)字段:
LambdaQueryWrapper<TimeFeature> wrapper = new LambdaQueryWrapper<>();
wrapper.select(TimeFeature::getDate,TimeFeature::getDayType5)
.eq(TimeFeature::getDate, currentDateTime);
TimeFeature timeFeature = timeFeatureMapper.selectOne(wrapper);
結(jié)果查詢(xún)正常,然后能得出結(jié)果集到實(shí)體類(lèi)的映射過(guò)程出現(xiàn)問(wèn)題。
然后通過(guò)排查代碼,發(fā)現(xiàn)我的實(shí)體類(lèi)使用了@AllArgsConstructor
注解,文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-701258.html
@Data
@TableName("TIME_FEATURE")
@ApiModel(value = "TimeFeature對(duì)象", description = "日期類(lèi)型映射")
@AllArgsConstructor
public class TimeFeature extends BaseEntity{
@ApiModelProperty("日期")
private LocalDateTime date;
@ApiModelProperty("類(lèi)型")
private Integer dayType5;
}
這個(gè)注解導(dǎo)致了指定的默認(rèn)構(gòu)造方法是只包含date,dayType5兩個(gè)參數(shù)的方法。所以無(wú)法通過(guò)默認(rèn)的構(gòu)造方法將對(duì)應(yīng)的結(jié)果集映射到實(shí)體類(lèi)。
所以將這個(gè)注解去掉就解決問(wèn)題了。
引申思考,那使用@Builder
注解會(huì)不會(huì)導(dǎo)致類(lèi)似的問(wèn)題呢?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-701258.html
到了這里,關(guān)于使用mybatisplus查詢(xún)sql時(shí),報(bào)Error attempting to get column ‘ID‘ from result set錯(cuò)誤的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!