记一次使用lombok时mybaties报错"nested exception is org.apache.ibatis.executor.result.ResultMapException:"

本文详细解析了一个关于MyBatis在使用Lombok时遇到的ResultMapException错误,特别是当尝试从结果集获取非数字类型的'user_name'字段时引发的NumberFormatException。文章指出,此问题由@Builder注解导致的无参构造器缺失引起,并提供了添加@NoArgsConstructor和@AllArgsConstructor注解作为解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

报错nested exception is org.apache.ibatis.executor.result.ResultMapException: Error attempting to get column ‘user_name’ from result set. Cause: java.lang.NumberFormatException: For input string: “shenzhenhytzb”
原因:使用lambok时使用了@Builder注解导致没有无参构造器,添加注解@NoArgsConstructor @AllArgsConstructor
url /TimeAnalysis/getTimeAnalysisList,异常信息:nested exception is org.apache.ibatis.executor.result.ResultMapException: Error attempting to get column 'reset_day_Time' from result set. Cause: java.lang.NullPointerException org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.result.ResultMapException: Error attempting to get column 'reset_day_Time' from result set. Cause: java.lang.NullPointerException @ApiOperation(value = "设备用分析列表") @GetMapping("/getTimeAnalysisList") public Result getTimeAnalysisList(PageLimit pageLimit, String equipmentNo, String startTime, String endTime, Integer workState){ if(StringUtils.isEmpty(pageLimit.getOrderNo())){ throw new CustomException(CustomExceptionType.TOKEN_PERRMITRE_ERROR,"订单号必传!"); } if(StringUtils.isEmpty(pageLimit.getLineNo())){ throw new CustomException(CustomExceptionType.TOKEN_PERRMITRE_ERROR,"产线号必传!"); } if(StringUtils.isEmpty(equipmentNo)){ throw new CustomException(CustomExceptionType.TOKEN_PERRMITRE_ERROR,"设备编号必传!"); } DzEquipment equipment = equipmentService.getOne(new QueryWrapper<DzEquipment>() .eq("order_no", pageLimit.getOrderNo()) .eq("line_no", pageLimit.getLineNo()) .eq("equipment_no", equipmentNo)); if(ObjectUtils.isEmpty(equipment)){ throw new CustomException(CustomExceptionType.OK_NO_DATA,"设备不存在!"); } QueryWrapper<DzEquipmentTimeAnalysis> queryWrapper=new QueryWrapper<>(); queryWrapper.eq("device_id",equipment.getId()); if(-1!=workState){ queryWrapper.eq("work_state",workState); } if(!StringUtils.isEmpty(startTime)){ queryWrapper.ge("stop_data",startTime); } if(!StringUtils.isEmpty(endTime)){ queryWrapper.le("stop_data",endTime); } PageHelper.startPage(pageLimit.getPage(), pageLimit.getLimit()); List<DzEquipmentTimeAnalysis> list1= dzEquipmentTimeAnalysisDao.selectList(null); List<DzEquipmentTimeAnalysis> list= dzEquipmentTimeAnalysisDao.selectList(queryWrapper); PageInfo<DzEquipmentTimeAnalysis> info = new PageInfo<>(list); return Result.ok(info.getList(), info.getTotal()); } package com.dzics.data.dzdc.model.entity; import com.baomidou.mybatisplus.annotation.*; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serializable; import java.time.LocalDate; import java.time.LocalTime; import java.util.Date; /** * <p> * * </p> * * @author NeverEnd * @since 2021-10-11 */ @Data @EqualsAndHashCode(callSuper = false) @TableName("dz_equipment_time_analysis") @ApiModel(value = "DzEquipmentTimeAnalysis对象", description = "") public class DzEquipmentTimeAnalysis implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "主键") @TableId(value = "id", type = IdType.ASSIGN_ID) private String id; @ApiModelProperty("设备ID") @TableField("device_id") private String deviceId; @ApiModelProperty(value = "订单编号") @TableField("order_no") private String orderNo; @ApiModelProperty(value = "产线序号") @TableField("line_no") private String lineNo; @ApiModelProperty(value = "设备序号") @TableField("equipment_no") private String equipmentNo; @ApiModelProperty(value = "设备类型(1检测设备,2机床,3机器人)") @TableField("equipment_type") private Integer equipmentType; @TableField("work_state") private Integer workState; @TableField("stop_hour") private Integer stopHour; @TableField("stop_day_Time") private LocalTime stopDayTime; @ApiModelProperty(value = "开始运行间") @TableField("stop_time") private Date stopTime; @TableField("reset_hour") private Integer resetHour; @TableField("reset_day_Time") private LocalTime resetDayTime = LocalTime.of(0, 0); @ApiModelProperty(value = "停止运行间") @TableField("reset_time") private Date resetTime; @ApiModelProperty(value = "运行长毫秒") @TableField("duration") private Long duration; @ApiModelProperty("表示是一次完整录的ID") @TableField("group_id") private Long groupId; @ApiModelProperty(value = "运行日期 2021.1.4 日") @TableField("stop_data") private LocalDate stopData; @ApiModelProperty(value = "机构编码") @TableField("org_code") private String orgCode; @ApiModelProperty(value = "删除状态(0正常 1删除 )") @TableField("del_flag") private Boolean delFlag; @ApiModelProperty(value = "创建人") @TableField("create_by") private String createBy; @ApiModelProperty(value = "创建间") @TableField(value = "create_time", fill = FieldFill.INSERT) private Date createTime; @ApiModelProperty(value = "更新人") @TableField("update_by") private String updateBy; @ApiModelProperty(value = "更新间") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) private Date updateTime; }
最新发布
07-29
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值