Mybatis @Insert错误:嵌套异常是org.apache.ibatis.reflection.ReflectionException

时间:2018-11-19 11:44:26

标签: spring-boot mybatis

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'testStr' in 'class Test.TestModel'.

以下方法中发生了错误:

public interface TestMapper {
    @Insert({"INSERT INTO PLUProps.Test VALUES(#{id}, #{testStr})"})
    int insertData(TestModel testModel);
}

//Test
private int insertData(){
    TestModel testModel = new TestModel();
    testModel.setId(1);
    testModel.setTestSTr("123123");
    return testMapper.insertData(testModel);
}

在TestModel的实体类中,我使用了来自lombok的@Data批注来自动生成setter和getter方法。

@Data
public class TestModel implements Serializable {
    private static final long serialVersionUID = -1180681799256416275L;
    private int id;
    private String testSTr;
}

该错误是由我编写的错误@Insert语句引起的吗?谢谢。

2 个答案:

答案 0 :(得分:1)

此处有错字。

Error抱怨这样的getter和setter

private String testSTr;更改为private String testStr;,并相应地创建getter和setter。

OR

#{testStr})更改为#{testSTr})

答案 1 :(得分:0)

在查询中或字段中都有错字。

该字段被命名为testSTr(请注意T),因此该语句应为

INSERT INTO PLUProps.Test VALUES(#{id}, #{testSTr})

或者将字段名称更改为testStr