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语句引起的吗?谢谢。
答案 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
。