前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java.lang.NoSuchMethodException: <init>[通俗易懂]

java.lang.NoSuchMethodException: <init>[通俗易懂]

作者头像
全栈程序员站长
发布2022-07-02 16:21:32
1.5K0
发布2022-07-02 16:21:32
举报

大家好,又见面了,我是你们的朋友全栈君。

报错信息(捡重要的):

代码语言:javascript
复制
java.lang.NoSuchMethodException: com.mmall.pojo.OrderItem.<init>(java.lang.Integer, java.lang.Integer, java.lang.Long, java.lang.Integer, java.lang.String, java.lang.String, java.math.BigDecimal, java.lang.Integer, java.math.BigDecimal, java.util.Date, java.util.Date)
	at java.lang.Class.getConstructor0(Class.java:3082)
	at java.lang.Class.getDeclaredConstructor(Class.java:2178)
	at org.apache.ibatis.reflection.factory.DefaultObjectFactory.instantiateClass(DefaultObjectFactory.java:68)
	at org.apache.ibatis.reflection.factory.DefaultObjectFactory.create(DefaultObjectFactory.java:50)
	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.createParameterizedResultObject(DefaultResultSetHandler.java:630)
	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.createResultObject(DefaultResultSetHandler.java:595)
	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.createResultObject(DefaultResultSetHandler.java:574)
	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.getRowValue(DefaultResultSetHandler.java:379)
	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValuesForSimpleResultMap(DefaultResultSetHandler.java:338)

其实许多信息根本不用看,就看第一句,我给你截下来

java.lang.NoSuchMethodException: com.mmall.pojo.OrderItem.<init>(java.lang.Integer, java.lang.Integer, java.lang.Long, java.lang.Integer, java.lang.String, java.lang.String, java.math.BigDecimal, java.lang.Integer, java.math.BigDecimal, java.util.Date, java.util.Date)

为什么会报这种错误?

其实很简单,就是OrderItem这个类实例化出错了

给你们看看属性,然后再看看构造器

代码语言:javascript
复制
public class OrderItem {
    private Integer id;

    private Integer userId;

    private Long orderNo;

    private Integer productId;

    public OrderItem(Integer id, Long orderNo, Integer productId, Integer userId) {
        this.id = id;
        this.orderNo = orderNo;
        this.productId = productId;
        this.userId = userId;
    }

然后你再看看上面我用红色标明的错误信息,当mybatis加载这个类的时候,是按照顺序来加载的。

第二个明显是Integer类型,然后你看看构造器参数的顺序,是不是有问题。

改过来就行了。(注意:当写重载构造器的时候,一定要按照顺序来传递参数)

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/148434.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档