实力踩坑:There is no getter for property named ‘XXX‘ ‘class XXX‘

Posted 一宿君

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实力踩坑:There is no getter for property named ‘XXX‘ ‘class XXX‘相关的知识,希望对你有一定的参考价值。

实力踩坑:There is no getter for property named 'XXX' 'class XXX‘

1、异常错误日志

org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'avgConfGroupQueryRequest' in 'class cn.wbs.pojo.AvgConfGroupQueryRequest'
	at org.apache.ibatis.reflection.Reflector.getGetInvoker(Reflector.java:421) ~[mybatis-3.4.4.jar:3.4.4]
	at org.apache.ibatis.reflection.MetaClass.getGetInvoker(MetaClass.java:164) ~[mybatis-3.4.4.jar:3.4.4]
	at org.apache.ibatis.reflection.wrapper.BeanWrapper.getBeanProperty(BeanWrapper.java:162) ~[mybatis-3.4.4.jar:3.4.4]
	at org.apache.ibatis.reflection.wrapper.BeanWrapper.get(BeanWrapper.java:49) ~[mybatis-3.4.4.jar:3.4.4]
	at org.apache.ibatis.reflection.MetaObject.getValue(MetaObject.java:122) ~[mybatis-3.4.4.jar:3.4.4]
	at org.apache.ibatis.scripting.xmltags.DynamicContext$ContextMap.get(DynamicContext.java:94) ~[mybatis-3.4.4.jar:

2、分析原因解决

关于mybatis中的xml文件配置我们在实际操作中往往会有一些细节上的错误,这些错误百度比较零碎,大多都不能解决,还是自己小小总结一下比较妥!

上述错误常见场景如下:

  • 实体类中没得get/set方法

  • 实体类名与数据库类名不符

  • 实体类名与xml中的property字段名不符或者与parameterType字段名不符

  • xml中column名与property名不符

  • 有一步比较关键,也是最容易被忽略的,那就是你的xml中的字段前后是不是有空格?有时候一不留神就手抖多敲了一个,找死你都找不出来!!!

另外一个场景:

xml文件中

mapper接口中

一般情况下,用到@Param(“XXX”)是在xml文件的sql语句where条件中有多个参数时,需要由@Param来指定参数命名,但是还要一种情况就是上述的场景,在sql的where条件中,使用到了实体类对象的引用,就必须使用@Param来指定命名。

并不是所有的参数为实体类的都要@Param来指定,如果在sql语句中没有参数冲突,就可以不指定,可以直接使用实体类中的参数,场景如下:

xml文件中

mapper接口中

以上是关于实力踩坑:There is no getter for property named ‘XXX‘ ‘class XXX‘的主要内容,如果未能解决你的问题,请参考以下文章

mybatis出现There is no getter for property named ...的原因及解决办法

There is no getter for property named 'NULL' in ……

Mybatis单个参数报错: There is no getter for property named

Mybatis单个参数报错: There is no getter for property named

Error querying database. Cause: org.apache.ibatis.reflection.ReflectionException: There is no getter

Mybatismybatis查询报错org.apache.ibatis.reflection.ReflectionException: There is no getter for propert(代