org.apache.ibatis.reflection.ReflectionException"/>
解决:nested exception is org.apache.ibatis.reflection.ReflectionException
错误异常:nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named ‘id’ in ‘class java.lang.String’
映射器类(Mapper interface)
public interface NarCodeService {public NarCode getNarCode(String id);}
Xml映射文件配置(部分)
<select id="getNarCode" parameterType="java.lang.String"resultType="narCode">select<include refid="Base_Column_List"></include>from nar_code<where><if test="id != null">id=#{id,jdbcType=VARCHAR}</if></where></select>
这是Mybatis Xml映射文件配置,当我执行这个映射select语句时报错:nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named ‘id’ in ‘class java.lang.String’
解决办法有两种:
1.去掉sql语句的if标签限制
<if test="id != null">id=#{id,jdbcType=VARCHAR}
</if><-- 改为:-->
id=#{id,jdbcType=VARCHAR}
原因:我自己猜测加上if标签时,id属性没有包含在数据类型为String id对象中。
如果去掉if标签时直接使用这个数据类型为String id对象
2.将parameterType="java.lang.String"参数改为传一个自定义实体对象或者HashMap来封装这个id参数
原因:可以在自定义实体对象或者HashMap中找到这个id属性
转载于:.html
更多推荐
解决:nested exception is org.apache.ibatis.reflection.ReflectionException
发布评论