Caused by: org.apache.ibatis.reflection.ReflectionException: There is no getter
Caused by: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'company' in 'class java.lang.String' at org.apache.ibatis.reflection.Reflector.getGetInvoker(Reflector.java:
380) at org.apache.ibatis.reflection.MetaClass.getGetInvoker(MetaClass.java:
170) at org.apache.ibatis.reflection.wrapper.BeanWrapper.getBeanProperty(BeanWrapper.java:
152) at org.apache.ibatis.reflection.wrapper.BeanWrapper.get(BeanWrapper.java:
48) at org.apache.ibatis.reflection.MetaObject.getValue(MetaObject.java:
116) at org.apache.ibatis.scripting.xmltags.DynamicContext$ContextMap.get(DynamicContext.java:
97) at org.apache.ibatis.scripting.xmltags.DynamicContext$ContextAccessor.getProperty(DynamicContext.java:
116) at org.apache.ibatis.ognl.OgnlRuntime.getProperty(OgnlRuntime.java:
1657) at org.apache.ibatis.ognl.ASTProperty.getValueBody(ASTProperty.java:
92) at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:
170) at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:
210) at org.apache.ibatis.ognl.ASTNotEq.getValueBody(ASTNotEq.java:
49) at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:
170) at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:
210) at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:
333) at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:
413) at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:
395) at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:
48) at org.apache.ibatis.scripting.xmltags.ExpressionEvaluator.evaluateBoolean(ExpressionEvaluator.java:
32) at org.apache.ibatis.scripting.xmltags.IfSqlNode.apply(IfSqlNode.java:
33) at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:
32) at org.apache.ibatis.scripting.xmltags.TrimSqlNode.apply(TrimSqlNode.java:
54) at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:
32) at org.apache.ibatis.scripting.xmltags.DynamicSqlSource.getBoundSql(DynamicSqlSource.java:
40) at org.apache.ibatis.mapping.MappedStatement.getBoundSql(MappedStatement.java:
278) at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:
118) 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.apache.ibatis.plugin.Invocation.proceed(Invocation.java:
49) at com.chinamobile.sias.core.orm.pagination.interceptor.PaginationInterceptor.intercept(PaginationInterceptor.java:
90) at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:
60) at com.sun.proxy.$Proxy82.query(Unknown Source)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:
108) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:
102) 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.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:
358) ...
28 more
Spring+Mybatis框架
mapper.xml中用到了<where><if>标签判断,出现了上述错误
<select>select * from t_view_workorder<where> <if test="company != '全国'">
wo_company = #{company}
</if>
</where>
</select>
mapper.java中代码如下
List<Workorder> getOrderByCompany(String company);
解决方法
在参数前加@Param标签
List<Workorder> getOrderByCompany(@Param("company")String company);
OK!
页:
[1]