控制台报错 No constructor found in com.base.entity.Menu matching [java.lang.Integer, java.lang.String]

控制台报错:
Mybatis出现了一个报错,说是没有找到构造器

No constructor found in com.aqueduct.base.entity.system.Menu matching
[java.lang.Integer, java.lang.String, java.lang.String,
java.lang.String, java.lang.String, java.lang.String,
java.lang.String, java.lang.Integer, java.lang.String]

mybatis Mapper配置: 配置及使用正常


		
		
		
		
		
		
	

注意:在实体内重写了构造函数:

public Menu(String mENU_ID, String mENU_NAME, String pARENT_ID,
			String mENU_ICON, String mENU_LINK) {
		super();
		MENU_ID = mENU_ID;
		MENU_NAME = mENU_NAME;
		PARENT_ID = pARENT_ID;
		MENU_ICON = mENU_ICON;
		MENU_LINK = mENU_LINK;
	}

重写了有参构造器后,实体返回数据依据构造方法进行数据返回,忽略了多字段和实体属性类型,所以在返回数据时,出现了以上错误

解决方案:

public Menu() {
		super();
	}

重写了构造器后,忘了补写一个默认的构造器,向实体内加入无参构造方法,问题即可解决.此类的错误还经常出现在spring等这种大量使用反射的框架中。因为这些框架在调用反射的类后会默认调用默认的构造器

你可能感兴趣的:(控制台报错 No constructor found in com.base.entity.Menu matching [java.lang.Integer, java.lang.String])