java.lang.NoSuchMethodException:Good.<init>(java.lang.String, java.lang.String,java.lang.Double)

一开始我以为是Oracle数据库中的字段类型与JAVA类型不一致,结果不是这个问题。

原因分析:普通的JAVA类中,没有对应参数的构造函数,以致于无法对象关系映射。我们需要知道创建一个对象,是需要构造函数的,没有构造函数,那怎么创建对象呢?

import org.apache.ibatis.type.Alias;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
@Alias("good")
public class Good {
    private String goodId;
    private String goodName;
    private Double price;

    public Good(){} //无惨构造函数需要写上,否则下面那个构造函数会报“无法注入Bean”的错误

    public Good(String goodId, String goodName, Double price){ //需要写上这个构造函数,否则会报NoSuchMethodException
        this.goodId = goodId;
        this.goodName = goodName;
        this.price = price;
    }

    public String getGoodId() {
        return goodId;
    }

    public void setGoodId(String goodId) {
        this.goodId = goodId;
    }

    public String getGoodName() {
        return goodName;
    }

    public void setGoodName(String goodName) {
        this.goodName = goodName;
    }
    
    public Double getPrice() {
        return price;
    }

    public void setPrice(Double price) {
        this.price = price;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值