今天在调试上周编写好得代码程序的时候,在执行到mybatis获取某行数据转换成自定义的类型时,抛出了异常:
nested exception is org.apache.ibatis.executor.ExecutorException: No
constructor found
这时候疑惑了一下,自定义类中的字段和类型和数据结构一模一样啊,然后发现异常提示中出现constructor这个关键字,想到可能是和自定义类型中定义了有参构造。当从数据库拿到某行数据时,由于缺少无参构造,导致异常出现。
解决方法:
添加一个无参构造函数(能够不添加三个参数的构造函数)。
在这里能够理解成使用Mybatis查询一个实例时,这个抽象实体类必须有一个无参构造方法
注:
默认状况下,每个实体类都有一个无参构造函数。
若是咱们本身添加一个有参构造函数,则默认的无参构造函数失效,需手动添加无参构造函数