当前位置: 首页 > news >正文

使用mybatisplus查询sql时,报Error attempting to get column ‘ID‘ from result set错误

问题描述:
在使用如下代码进行查询时,报Error attempting to get column ‘ID’ from result set错误:

 LambdaQueryWrapper<TimeFeature> wrapper = new LambdaQueryWrapper<>();wrapper.eq(TimeFeature::getDate, currentDateTime);TimeFeature timeFeature = timeFeatureMapper.selectOne(wrapper);

首先排除数据库字段大小写问题。
然后考虑ID字段在本轮逻辑中不是很重要,对代码做了如下更改,指定了查询字段:

LambdaQueryWrapper<TimeFeature> wrapper = new LambdaQueryWrapper<>();
wrapper.select(TimeFeature::getDate,TimeFeature::getDayType5)
.eq(TimeFeature::getDate, currentDateTime);
TimeFeature timeFeature = timeFeatureMapper.selectOne(wrapper);

结果查询正常,然后能得出结果集到实体类的映射过程出现问题。
然后通过排查代码,发现我的实体类使用了@AllArgsConstructor注解,

@Data
@TableName("TIME_FEATURE")
@ApiModel(value = "TimeFeature对象", description = "日期类型映射")
@AllArgsConstructor
public class TimeFeature extends BaseEntity{@ApiModelProperty("日期")private LocalDateTime date;@ApiModelProperty("类型")private Integer dayType5;}

这个注解导致了指定的默认构造方法是只包含date,dayType5两个参数的方法。所以无法通过默认的构造方法将对应的结果集映射到实体类。
所以将这个注解去掉就解决问题了。
引申思考,那使用@Builder注解会不会导致类似的问题呢?

http://www.lryc.cn/news/158984.html

相关文章:

  • ElementUI浅尝辄止32:NavMenu 导航菜单
  • @Value的注入与静态注入 与 组件中静态工具类的注入
  • Qt--自定义搜索控件,QLineEdit带前缀图标
  • 8月AI实战:工业视觉缺陷检测
  • Kubernetes的ExternalName详解
  • 使用 Pandera 的 PySpark 应用程序的数据验证
  • README
  • Excel周报制作
  • Qt QtCreator 所有官方下载地址
  • C++包含整数各位重组
  • 数学建模--模型总结(5)
  • JavaScript 中的原型到底该如何理解?
  • 【MySQL基础】事务隔离03
  • 2023高教社杯数学建模C题思路分析 - 蔬菜类商品的自动定价与补货决策
  • 【MySQL】初见数据库
  • 选择合适的帧率和分辨率:优化RTSP流视频抓取(java)
  • HTTP协议都有哪些方法?
  • 数学建模--非整数规划求解的Python实现
  • LeetCode 48题: 旋转图像
  • 集成快递物流平台(快递100、快递鸟、闪送)连通多个应用
  • 搭建hadoop集群的常见问题及解决办法
  • virtualbox centos 使用NAT模式上网
  • 蓝桥杯官网填空题(梅森素数)
  • IBM Spectrum LSF Application Center 以应用程序为中心的工作负载提交和管理
  • 同步FIFO的verilog实现(2)——高位扩展法
  • 数据结构与算法面试
  • android studio cmake生成.a文件(静态库)及调用(c c++)静态库.a
  • 本地部署体验LISA模型(LISA≈图像分割基础模型SAM+多模态大语言模型LLaVA)
  • SpotBugs代码检查:instanceof总是返回true(BC_VACUOUS_INSTANCEOF)
  • Redis的Java客户端:Jedis入门