xsw222 发表于 2017-12-24 10:38:19

Mybatis笔记四: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>
  
}
  

  Xml映射文件配置(部分)
  

<select 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">  

VARCHAR}
  原因:我自己猜测加上if标签时,id属性没有包含在数据类型为String>  如果去掉if标签时直接使用这个
  2.将parameterType="java.lang.String"参数改为传一个自定义实体对象或者HashMap来封装这个id参数
  原因:可以在自定义实体对象或者HashMap中找到这个id属性
  
页: [1]
查看完整版本: Mybatis笔记四:nested exception is org.apache.ibatis.reflection.ReflectionException: