一开始我以为是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;
}
}