java后台报错:Unknown column xxx in field list

使用mybatis-puls测试数据时,总是报“Unknown column ‘xxx’ in ‘field list’”。于是我网上搜。又说空格的原因,但我的试了空格的,无效。继续搜索。有个启发了我。于是测试成功了。做个记录。

最开始的pojo对象。

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="CustomerRefundrecord对象", description="会员账户充值记录")
public class CustomerRefundrecord implements Serializable {

    private static final long serialVersionUID = 1L;

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

    @ApiModelProperty(value = "会员ID")
    private Integer memberId;

    @ApiModelProperty(value = "申请时间")
    private Date createTime;

    @ApiModelProperty(value = "申请退款金额")
    private Double money;

    @ApiModelProperty(value = "退款进度(0:提交申请 10:审核1通过 11:审核1拒绝 20:审核2通过 21:审核2拒绝 30:审核3通过 31:审核3拒绝)")
    private Integer status;

    @ApiModelProperty(value = "审核1审批意见")
    private String adult1Remark;

    @ApiModelProperty(value = "审核1审批时间")
    private Date adult1Time;

    @ApiModelProperty(value = "审核2审批意见")
    private String adult2Remark;

    @ApiModelProperty(value = "审核2审批时间")
    private Date adult2Time;

    @ApiModelProperty(value = "审核3审批意见")
    private String adult3Remark;

    @ApiModelProperty(value = "审核3审批时间")
    private Date adult3Time;

    @ApiModelProperty(value = "审核1员工ID")
    private Integer adulter1Id;

    @ApiModelProperty(value = "审核2员工ID")
    private Integer adulter2Id;

    @ApiModelProperty(value = "审核3员工ID")
    private Integer adulter3Id;

    @ApiModelProperty(value = "交易时间")
    private Date tradeTime;

    @ApiModelProperty(value = "交易结果 ((0, '未知'), (1, '交易成功'), (2, '交易失败'),(3, '撤销'), (4, '部分成功'), (5, '其他'))")
    private Integer tradeResult;

    private Double tradeMoney;


}

于是测试总报:

SQL: SELECT id,member_id,create_time,money,status,adult1_remark,adult1_time,adult2_remark,adult2_time,adult3_remark,adult3_time,adulter1_id,adulter2_id,adulter3_id,trade_time,trade_result,trade_money FROM customer_refundrecord WHERE id=?

Cause: java.sql.SQLSyntaxErrorException: Unknown column ‘adult1_remark’ in ‘field list’

网上搜了很多。其中有一篇启发我。于是我报着试试的情况。结果发现了问题。

由于mybatis-puls可以直接配置一个主键【@TableId(value = “id”, type = IdType.AUTO)】,其他属性会自动匹配,所以其他不适主键属性没有配置@TableField注解。
然后我配置上去后。发现。当数据库字段中当有_大于1个时,mybatis-puls会取后面那个保留。于是我就给我的带有两个_的字段添加了@TableField注解。测试。发现ok。

晒下修改后的pojo

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="CustomerRefundrecord对象", description="会员账户充值记录")
public class CustomerRefundrecord implements Serializable {

    private static final long serialVersionUID = 1L;

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

    @ApiModelProperty(value = "会员ID")
    private Integer memberId;

    @ApiModelProperty(value = "申请时间")
    private Date createTime;

    @ApiModelProperty(value = "申请退款金额")
    private Double money;

    @ApiModelProperty(value = "退款进度(0:提交申请 10:审核1通过 11:审核1拒绝 20:审核2通过 21:审核2拒绝 30:审核3通过 31:审核3拒绝)")
    private Integer status;

    @ApiModelProperty(value = "审核1审批意见")
    @TableField("adult_1_remark")
    private String adult1Remark;

    @ApiModelProperty(value = "审核1审批时间")
    @TableField("adult_1_time")
    private Date adult1Time;

    @ApiModelProperty(value = "审核2审批意见")
    @TableField("adult_2_remark")
    private String adult2Remark;

    @ApiModelProperty(value = "审核2审批时间")
    @TableField("adult_2_time")
    private Date adult2Time;

    @ApiModelProperty(value = "审核3审批意见")
    @TableField("adult_3_remark")
    private String adult3Remark;

    @ApiModelProperty(value = "审核3审批时间")
    @TableField("adult_3_time")
    private Date adult3Time;

    @ApiModelProperty(value = "审核1员工ID")
    @TableField("adulter_1_id")
    private Integer adulter1Id;

    @ApiModelProperty(value = "审核2员工ID")
    @TableField("adulter_2_id")
    private Integer adulter2Id;

    @ApiModelProperty(value = "审核3员工ID")
    @TableField("adulter_3_id")
    private Integer adulter3Id;

    @ApiModelProperty(value = "交易时间")
    private Date tradeTime;

    @ApiModelProperty(value = "交易结果 ((0, '未知'), (1, '交易成功'), (2, '交易失败'),(3, '撤销'), (4, '部分成功'), (5, '其他'))")
    private Integer tradeResult;

    private Double tradeMoney;


}
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值