实力踩坑: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来指定参数命名,但是还要一种情况就是上述的场景,mapper层接口中有多个参数时,在sql的where条件中,使用到了其中一个参数对象的引用,就必须使用@Param来指定命名。

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

xml文件中
在这里插入图片描述
mapper接口中
在这里插入图片描述

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一宿君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值