錯誤異常:nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'id' in 'class java.lang.String'java
映射器類(Mapper interface)sql
public interface NarCodeService { public NarCode getNarCode(String id); }
Xml映射文件配置(部分)apache
<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'app
解決辦法有兩種:spa
1.去掉sql語句的if標籤限制code
<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屬性