MyBatis查询返回结果时抛出ExecutorException: No constructor found

  • 内容
  • 评论
  • 相关

在MyBaties查询数据返回结果时抛出如下异常:

别被上面一大段的异常吓着了。只需要看里面的一段异常信息即可:
这个异常的信息已经说的很直白了,大致意思就是说在 SimplePacketItem 这个类里面没有找到 有两个参数且类型分别为 为 Integer和String 的构造方法。
看到这里是不是一下子就明白了。解决这个异常方法很简单,在类中创建一个空参的构造方法,还可以创建  两个参数且类型分别为 为 Integer和String 的构造方法,当然不创建 带两个参数的构造也是可以的。

异常原因分析:由于在这个类中事先有一个带3个参数的构造方法,缺少一个空的构造方法。个人的理解是,一旦我们的类中定义了带参数的构造,在我们创建对象的时候,会自动使用我们定义的构造方法去内存中申请空间。一旦我们使用了空的构造则就会出现编译异常。因为这个时候,JDK在内存中去申请空间创建对象的时候,会去判断我们是否自定义了其他的构造,如果定义了,则使用我们定义的构造去内存中开辟空间。如果没有则会帮我们创建一个默认的空参数的构造。

评论

0条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注