在使用mybatis时,偶尔遇到了“No constructor found in .....”的问题,根据问题的提示可以看出,应该是构造方法引起的异常,经测试,当引用的实体重构了构造方法之后就会出现这个问题,因为mybatis需要用到默认构造方法,明确一个默认构造方法即可解决。示例如下:
有问题的代码:
/**
* <p>类描述:mybatis 引用实体 测试 </p>
* <p>创建人:wanghonggang </p>
* <p>创建时间:2019年5月17日 下午5:42:49 </p>
*/
public class MyEntity {
private String id;
private String name;
private int age;
/**
* 重构构造方法
* 创建一个新的实例 MyEntity.
*
* @param id
* @param name
*/
public MyEntity(String id,String name){
this.id = id;
= name;
}
// 以下 get set 方法略
}
修正之后的代码:
/**
* <p>类描述:mybatis 引用实体 测试 </p>
* <p>创建人:wanghonggang </p>
* <p>创建时间:2019年5月17日 下午5:42:49 </p>
*/
public class MyEntity {
private String id;
private String name;
private int age;
/**
* 默认构造方法,添加此默认构造方法即可解决问题
* 创建一个新的实例 MyEntity.
*
*/
public MyEntity(){
super();
}
/**
* 重构构造方法
* 创建一个新的实例 MyEntity.
*
* @param id
* @param name
*/
public MyEntity(String id,String name){
this.id = id;
= name;
}
// 以下 get set 方法略
}