There is no getter for property named 'value' in 'class com.hl.myabtis.first.beas.User'
2017-05-23 09:12
537 查看
Mybatis 更新数据发生There is no getter for property named ‘value’ in ‘class com.hl.myabtis.first.beas.User’异常
原因字段与数据库字段不一致
#{xxx}里面的变量名应该是User对象中包含的,这里需要改为
org.apache.ibatis.exceptions.PersistenceException: ### Error updating database. Cause: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'value' in 'class com.hl.myabtis.first.beas.User' ### The error may involve test.updateUserByID-Inline ### The error occurred while setting parameters ### SQL: update user set username = ?,birthday = ?,sex = ?,address = ? where id = ? ### Cause: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'value' in 'class com.hl.myabtis.first.beas.User' at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:200) at com.hl.mybatis.first.MyBatisFirst.testUpdateUser(MyBatisFirst.java:108) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) Caused by: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'value' in 'class com.hl.myabtis.first.beas.User' at org.apache.ibatis.reflection.Reflector.getGetInvoker(Reflector.java:421) at org.apache.ibatis.reflection.MetaClass.getGetInvoker(MetaClass.java:164) 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 org.apache.ibatis.scripting.defaults.DefaultParameterHandler.setParameters(DefaultParameterHandler.java:79) at org.apache.ibatis.executor.statement.PreparedStatementHandler.parameterize(PreparedStatementHandler.java:93) at org.apache.ibatis.executor.statement.RoutingStatementHandler.parameterize(RoutingStatementHandler.java:64) at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:86) at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:49) at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76) at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:198) ... 24 more
原因字段与数据库字段不一致
<update id="updateUserByID" parameterType="com.hl.myabtis.first.beas.User"> update user set username = #{username},birthday = #{birthday},sex = #{sex},address = #{address} where id = #{value} </update>
#{xxx}里面的变量名应该是User对象中包含的,这里需要改为
where id = #{id}
相关文章推荐
- 关于myBatis的问题There is no getter for property named 'USER_NAME' in 'class com.bky.model.实例类'
- There is no getter for property named 'UserCustom' in 'class com.hry.pojo.UserQueryVo'
- There is no getter for property named 'user' in 'class com.gao.model.Message
- FAQ(32):There is no getter for property named 'userrName' in 'class com.smbms.pojo.User'
- There is no setter for property named 'empId' in 'class com.my.entity.Dept'
- There is no getter for property named 'xxx' in 'class com.xuezhixin.mls.web.model.yyy
- Mybatis-异常-There is no getter for property named 'VARCHAR' in 'class com.xxx.xxxxx
- There is no getter for property named 'depart' in 'class com.xuezhixin.mls.web.model.Major'
- There is no getter for property named 'itmesCustom' in 'class com.ssm.po.Ite
- There is no getter for property named 'username' in 'class java.lang.String错误!
- Mybatis问题:There is no getter for property named 'VALUE' in 'class java.lang.String'
- [SSM]There is no getter for property named 'token_exptime' in 'class com.hdu.model.Student'
- com.ibatis.common.beans.ProbeException: There is no READABLE property named 'value' in class 'com.ving.xzfw.vo.PaymentInfo'
- mybatis There is no getter for property named 'xx' in 'class java.lang.String
- mybatis:There is no getter for property named 'xxx' in 'class java.lang.String'
- Mybatis-There is no getter for property named 'tj' in 'class
- Mybatis找不到参数错误:There is no getter for property named 'categoryId' in 'class java.lang.Integer'。
- 错误解决:There is no getter for property named 'id' in class 'java.lang.String'
- There is no getter for property named 'xxx' in 'class java.lang.Long'
- There is no getter for property named '**' in 'class java.lang.String'