mybtais报错There is no getter for property named ‘sqlSourceParser‘ in ‘class XXX.ProviderSqlSource

    技术2022-07-12  75

    贴出报错的日志文件Caused by: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'sqlSourceParser' in 'class org.apache.ibatis.builder.annotation.ProviderSqlSource' at org.apache.ibatis.reflection.Reflector.getGetInvoker(Reflector.java:373) at org.apache.ibatis.reflection.MetaClass.getGetInvoker(MetaClass.java:163) at org.apache.ibatis.reflection.wrapper.BeanWrapper.getBeanProperty(BeanWrapper.java:162) at org.apache.ibatis.reflection.wrapper.BeanWrapper.get(BeanWrapper.java:49) at org.apache.ibatis.reflection.MetaObject.getValue(MetaObject.java:122) at com.github.pagehelper.sqlsource.PageProviderSqlSource.<init>(PageProviderSqlSource.java:57) at com.github.pagehelper.SqlUtil.processMappedStatement(SqlUtil.java:308) at com.github.pagehelper.SqlUtil.doProcessPage(SqlUtil.java:460) at com.github.pagehelper.SqlUtil._processPage(SqlUtil.java:407) at com.github.pagehelper.SqlUtil.processPage(SqlUtil.java:374) at com.github.pagehelper.PageHelper.intercept(PageHelper.java:255) at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) at com.sun.proxy.$Proxy194.query(Unknown Source) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) ... 86 common frames omitted 可以看到最关键的错误是: Caused by: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'sqlSourceParser' in 'class org.apache.ibatis.builder.annotation.ProviderSqlSource'原因是因为pagehelper版本和mybatis-plus版本冲突了,升级一下pagehelper的版本就行 原先的pagehelper版本和mybatis-plus<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.3.1.tmp</version> </dependency> <!-- mybatis分页插件pageHelper--> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.1.6</version> </dependency> 更新之后的版本<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.2.1</version> </dependency> 重新刷新一下maven,重启项目就解决了还有一个类似的错误通常为ibatis:there is no getter for property named 'XX' in class XX 出现这个错误的原因有如下: 实体类没有写set/get方法, 我们可以用过使用lombok插件来避免这个。也有可能是我们自己写的实体类和语句查出来的类型对应不上,这个时候一定要仔细核对清楚。还有一种是mybatis会自动识别对象的值,传到xml文件中,所以需要给对象指定映射,可以参考There is no getter for property named ‘user’ in 'class**问题
    Processed: 0.009, SQL: 9