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中使用的名称决定。

猜你喜欢

转载自blog.csdn.net/m0_37961948/article/details/81482661