我在 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]
But 如果我从 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)
})