mybatis爆出constructor和getter异常的解决方法:
MyBatisSystemException:No constructor found Bean/POJO
mybatis框架使用无参构造器后使用setter将数据库返回的数据压入bean中,所以这个原因一般都是因为没有无参构造器,加上无参就可以解决了。
MybatisException:There is no getter for property named 'XXX' in
如果XXX是 字段名,很简单,一般都是大小写错误或者拼写错误,直接从bean中拷贝一份替换就可以了。
当然不排除确实没有getter的情况。(一般细心点都没这个问题)
今天我遇到的则更神奇一些,XXX竟然是我传入的model的类名:person。其实不难。
因为我们在xml里面使用了诸如:
<if test="person.id != null"> //报错:No getter of person,注意是首字母小写,我们的类名是Person
body
</test>
那么问题也很好解决,
public updatePersonById(Person person);
//改成
public updatePersonById(@Param("person") Person person);
//这个“person”是由你的mapper中使用的名称决定。