MyBatis是错误的org.apache.ibatis.exceptions.persistenceexception解:
1。对问题的描述
写一个好的配置文件测试与JUnit,一个是错误的:
Org.apache.ibatis.exceptions.PersistenceException:
查询数据库。原因:org.apache.ibatis.reflection.reflectionexception:# # #误差实例化类com.fendo.entity.person无效类型(或)值(java。lang.nosuchmethodexception:)com.fendo.entity.person。(原因:)。
这个错误可能在COM / / / person.xml fendo实体# # #存在
# # #错误可能涉及defaultparametermap
在设置参数# # #发生的错误
# # # SQL的SELECT * FROM人
org.apache.ibatis.reflection.reflectionexception:初始化类时发生错误# # #原因:同类型无效com.fendo.entity.person(或)值(java。lang.nosuchmethodexception:)com.fendo.entity.person。(原因:)。
在org.apache.ibatis.exceptions.exceptionfactory.wrapexception(exceptionfactory。java:23)
在org.apache.ibatis.session.defaults.defaultsqlsession.selectlist(defaultsqlsession。java:107)
在org.apache.ibatis.session.defaults.defaultsqlsession.selectlist(defaultsqlsession。java:98)
在org.apache.ibatis.binding.mappermethod.executeformany(mappermethod。java:114)
在org.apache.ibatis.binding.mappermethod.execute(mappermethod。java:58)
在org.apache.ibatis.binding.mapperproxy.invoke(mapperproxy。java:43)
COM。太阳。代理。proxy6.getpersons美元(来源不明)
在com.fendo.test.testmybatis.test(testmybatis。java:40)
在sun.reflect.nativemethodaccessorimpl.invoke0(本地方法)
在sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl。java:62)
在sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl。java:43)
在java.lang.reflect.method.invoke(方法。java:498)
在牛津。JUnit。跑步。模型。frameworkmethod 1.runreflectivecall美元(frameworkmethod。java:50)
在org.junit.internal.runners.model.reflectivecallable.run(reflectivecallable。java:12)
在org.junit.runners.model.frameworkmethod.invokeexplosively(frameworkmethod。java:47)
在org.junit.internal.runners.statements.invokemethod.evaluate(java中的:17)
在org.junit.internal.runners.statements.runbefores.evaluate(runbefores。java:26)
在org.junit.internal.runners.statements.runafters.evaluate(runafters。java:27)
在org.junit.runners.parentrunner.runleaf(parentrunner。java:325)
在org.junit.runners.blockjunit4classrunner.runchild(blockjunit4classrunner。java:78)
在org.junit.runners.blockjunit4classrunner.runchild(blockjunit4classrunner。java:57)
在牛津。JUnit。跑步。parentrunner 3.run美元(parentrunner。java:290)
在牛津。JUnit。跑步。parentrunner 1.schedule美元(parentrunner。java:71)
在org.junit.runners.parentrunner.runchildren(parentrunner。java:288)
在牛津。JUnit。跑步。parentrunner。获得000美元(parentrunner。java:58)
在牛津。JUnit。跑步。parentrunner 2.evaluate美元(parentrunner。java:268)
在org.junit.runners.parentrunner.run(parentrunner。java:363)
在org.eclipse.jdt.internal.junit4.runner.junit4testreference.run(junit4testreference。java:86)
在org.eclipse.jdt.internal.junit.runner.testexecution.run(测试执行。java:38)
在org.eclipse.jdt.internal.junit.runner.remotetestrunner.runtests(remotetestrunner。java:459)
在org.eclipse.jdt.internal.junit.runner.remotetestrunner.runtests(remotetestrunner。java:675)
在org.eclipse.jdt.internal.junit.runner.remotetestrunner.run(remotetestrunner。java:382)
在org.eclipse.jdt.internal.junit.runner.remotetestrunner.main(remotetestrunner。java:192)
致:org.apache.ibatis.reflection.reflectionexception:初始化类时发生错误com.fendo.entity.person无效类型(或价值)。
在org.apache.ibatis.reflection.factory.defaultobjectfactory.instantiateclass(defaultobjectfactory。java:83)
在org.apache.ibatis.reflection.factory.defaultobjectfactory.create(defaultobjectfactory。java:45)
在org.apache.ibatis.reflection.factory.defaultobjectfactory.create(defaultobjectfactory。java:38)
在org.apache.ibatis.executor.resultset.defaultresultsethandler.createresultobject(defaultresultsethandler。java:535)
在org.apache.ibatis.executor.resultset.defaultresultsethandler.createresultobject(defaultresultsethandler。java:514)
在org.apache.ibatis.executor.resultset.defaultresultsethandler.getrowvalue(defaultresultsethandler。java:334)
在org.apache.ibatis.executor.resultset.defaultresultsethandler.handlerowvaluesforsimpleresultmap(defaultresultsethandler。java:294)
在org.apache.ibatis.executor.resultset.defaultresultsethandler.handlerowvalues(defaultresultsethandler。java:269)
在org.apache.ibatis.executor.resultset.defaultresultsethandler.handleresultset(defaultresultsethandler。java:239)
在org.apache.ibatis.executor.resultset.defaultresultsethandler.handleresultsets(defaultresultsethandler。java:153)
在org.apache.ibatis.executor.statement.preparedstatementhandler.query(preparedstatementhandler。java:57)
在org.apache.ibatis.executor.statement.routingstatementhandler.query(routingstatementhandler。java:70)
在org.apache.ibatis.executor.simpleexecutor.doquery(simpleexecutor。java:57)
在org.apache.ibatis.executor.baseexecutor.queryfromdatabase(baseexecutor。java:259)
在org.apache.ibatis.executor.baseexecutor.query(baseexecutor。java:132)
在org.apache.ibatis.executor.cachingexecutor.query(cachingexecutor。java:105)
在org.apache.ibatis.executor.cachingexecutor.query(cachingexecutor。java:81)
在org.apache.ibatis.session.defaults.defaultsqlsession.selectlist(defaultsqlsession。java:104)
31更…
致:java.lang.nosuchmethodexception:com.fendo.entity.person。()
在java.lang.class.getconstructor0(类。java:3082)
在java.lang.class.getdeclaredconstructor(类。java:2178)
在org.apache.ibatis.reflection.factory.defaultobjectfactory.instantiateclass(defaultobjectfactory。java:57)
48更…
两。解决
正如你可以看到从上面的例外:java.lang.nosuchmethodexception:com.fendo.entity.person。()
无法初始化实体类。不能初始化的原因可能是因为没有构造方法。然后我检查了下一个类没有为他添加一个构造方法的方法。
谢谢你的阅读。我希望你能帮助你,谢谢你对这个站的支持。