控制台报错 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

目录
相关文章
|
17天前
|
Java API 索引
Java基础—笔记—String篇
本文介绍了Java中的`String`类、包的管理和API文档的使用。包用于分类管理Java程序,同包下类无需导包,不同包需导入。使用API时,可按类名搜索、查看包、介绍、构造器和方法。方法命名能暗示其功能,注意参数和返回值。`String`创建有两种方式:双引号创建(常量池,共享)和构造器`new`(每次新建对象)。此外,列举了`String`的常用方法,如`length()`、`charAt()`、`equals()`、`substring()`等。
15 0
|
1月前
|
Java
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
25 0
|
29天前
启动报错:java.nio.charset.MalformedInputException: Input length = 1
启动报错:java.nio.charset.MalformedInputException: Input length = 1
16 0
|
1月前
|
Java 编译器
有关电脑中idea编译报错问题java: No implementation was created for AdminUserConverter due to having a problem in
有关电脑中idea编译报错问题java: No implementation was created for AdminUserConverter due to having a problem in
33 0
|
16天前
|
Java Maven
【Java报错】显示错误“Error:java: 程序包org.springframework.boot不存在“
【Java报错】显示错误“Error:java: 程序包org.springframework.boot不存在“
35 3
|
2天前
|
存储 缓存 Java
|
3天前
|
存储 编解码 算法
Java 的 String StringBuilder StringBuffer(上)
Java 的 String StringBuilder StringBuffer
24 0
|
6天前
|
运维 Devops Shell
云效产品使用报错问题之流水线通过控制台创建的用yaml实现失败如何解决
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
15天前
|
Java 应用服务中间件 Maven
使用IDEA搭建SpringMVC环境,Maven导入了依赖,但是运行报错 java.lang.ClassNotFoundException
使用IDEA搭建SpringMVC环境,Maven导入了依赖,但是运行报错 java.lang.ClassNotFoundException
13 1
|
19天前
|
存储 Java 数据库连接
java使用mp持久化框架,写入5000个字符,但是VARCHAR(255) 会报错
使用Java的MyBatis Plus框架时,如果尝试将超过VARCHAR(255)限制的字符串(如5000个字符)存入数据库,会抛出异常。解决方法是将列类型改为TEXT。可通过在实体类属性上添加`@TableField(typeHandler = JdbcType.CLOB)`注解,如`private String content;`,将属性映射到CLOB类型列,以存储更长字符串。
9 0