当前位置: 首页 > 面试题库 >

MyBatis-找不到构造函数

龚鸿雪
2023-03-14
问题内容

我的MyBatis映射有问题。我有一个像这样的领域类:

public class MyClass
{
   private Long id;
   private Date create;
   private String content;

   MyClass (Long id, Date create, String content)
   {
       this.id = id;
       this.create = create;
       this.content = content;
   }

   //getters and setters

一个映射器类,具有如下方法

   @Select("SELECT * FROM MyTable WHERE id=#{id}")
   MyClass getMyClass (@Param("id") Long id);

在数据库中,三列的类型分别为Number,Timestamp和Clob,并且名称与类字段中的名称相同。

当我使用此方法时,我得到一个: ExecutorException:在[MyClass;中找不到构造函数。
匹配[java.math.BigDecimal,java.sql.Timestamp,oracle.jdbc.OracleClob]

但是, 如果我从Myclass中删除构造函数,那么就没有问题了
。我想要构造函数,该如何解决?我尝试像这样在映射器中添加@Results批注,但没有任何区别:

   @Results(value = {
      @Result(column = "id", property = "id", javaType = Long.class),
      @Result(column = "create", property = "create", javaType = Date.class),
      @Result(column = "content", property = "content", javaType = String.class)
   })

问题答案:

MyBatis希望您的模型对象具有无参数的构造函数(并且可能有每个映射字段的设置器)。添加这些,一切都会正常。



 类似资料:
  • 我在一些设备上面临这个问题,并在崩溃分析中出错。很多用户设备都面临这个问题,但在我的设备上运行良好。 无法启动活动ComponentInfo{com.ox.outloks.new/com.ox.outloks.new.activities.maindraweractivity}:Android.support.v4.app.fragment$instantiationexception:无法实例化

  • 问题内容: 我是Java的新手,如果我的问题很愚蠢,对不起。我正在从事这项工作,并且我已经阅读了几个小时的主要方法,但是我无法弄清楚。我在下面放了一些代码。我可能离这里很远,但是我希望完成的工作是获取启动构造函数的主要方法,但是在编译时出现错误,提示“找不到符号- 构造函数Player”。现在,我想这与构造函数的字符串参数有关,但我全力以赴。如果有人可以阐明这个可能很简单的问题,我会很高兴的:)

  • 当创建一个流行的片段时,我得到一个空的构造函数错误。 请看看我写的代码,创建碎片时如何传递数据?

  • 问题内容: 我正在实现他们文档中提供的firebase示例。我遇到此错误: com.fasterxml.jackson.databind.JsonMappingException:没有为类型[简单类型,类com.XYZ。$ BlogPost]找到合适的构造函数:无法从JSON对象实例化(需要添加/启用类型信息吗?) 这是我的代码: 我在同一件事上经历了很多问题,说要包含反序列化JSON所需的空构造

  • 问题内容: 我是Java的新手,正在尝试为Minecraft制作一个mod,但我不知道如何解决此错误: 这是我的代码: 这是怎么回事,我正在尝试使字符串“ Username”重定向到另一个类。 问题答案: Java编译器告诉您不能构造对象,因为您对构造函数的调用与任何已知的构造函数都不匹配。 具体来说,编译器发现了两个构造函数: 但您致电给: 都不匹配。

  • 每当我进入设置活动并旋转设备时,我都会收到此错误消息“找不到片段构造函数”。下面是我的设置活动onCreate()方法和设置片段类。