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

简介: 控制台报错 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配置: 配置及使用正常

<resultMap type="Menu" id="menuResultMap">
    <!-- 用id属性来映射主键字段 -->
    <id column="MENU_ID" property="MENU_ID"/>
    <!-- 用result属性来映射非主键字段 -->
    <result column="MENU_NAME" property="MENU_NAME"/>
    <result column="PARENT_ID" property="PARENT_ID"/>
    <result column="MENU_URL" property="MENU_URL"/>
  </resultMap>

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

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等这种大量使用反射的框架中。因为这些框架在调用反射的类后会默认调用默认的构造器

0b1d68b2266e7e3e90b634487a286d5.png

目录
相关文章
|
22天前
|
Java 测试技术 开发者
Java零基础-indexOf(String str)详解!
【10月更文挑战第14天】Java零基础教学篇,手把手实践教学!
108 65
|
15天前
|
分布式计算 Java MaxCompute
ODPS MR节点跑graph连通分量计算代码报错java heap space如何解决
任务启动命令:jar -resources odps-graph-connect-family-2.0-SNAPSHOT.jar -classpath ./odps-graph-connect-family-2.0-SNAPSHOT.jar ConnectFamily 若是设置参数该如何设置
|
20天前
|
安全 小程序 Java
Java“AccessControlException”报错解决
Java中的“AccessControlException”通常发生在尝试访问受安全策略限制的资源时。解决方法包括:1. 检查安全策略文件(java.policy)配置;2. 确保代码具有足够的权限;3. 调整JVM启动参数以放宽安全限制。
|
23天前
|
Java 测试技术 开发者
Java零基础-indexOf(String str)详解!
【10月更文挑战第13天】Java零基础教学篇,手把手实践教学!
38 1
|
27天前
|
安全 Java 测试技术
Java零基础-StringBuffer 类详解
【10月更文挑战第9天】Java零基础教学篇,手把手实践教学!
24 2
|
1月前
|
IDE Java 开发工具
Java“未封闭的 String 表达式”怎么解决
要解决Java中的“未封闭的 String 表示”问题,需检查并修正字符串字面量,确保每个字符串被正确地用双引号括起来。若字符串跨越多行,可使用字符串连接操作符(+)或引入文本块(JDK 13 及以上版本)。这能帮助避免语法错误,并使代码更整洁易读。
|
1月前
|
存储 安全 Java
【一步一步了解Java系列】:认识String类
【一步一步了解Java系列】:认识String类
24 2
|
2月前
|
消息中间件 分布式计算 Java
Linux环境下 java程序提交spark任务到Yarn报错
Linux环境下 java程序提交spark任务到Yarn报错
41 5
|
2月前
|
域名解析 分布式计算 网络协议
java遍历hdfs路径信息,报错EOFException
java遍历hdfs路径信息,报错EOFException
37 3
|
2月前
|
缓存 Java Linux
java操作hbase报错:KeeperErrorCode=NoNode for /hbase-unsecure/master
java操作hbase报错:KeeperErrorCode=NoNode for /hbase-unsecure/master
137 2

热门文章

最新文章