IBatis 入门第一例就挂啦?异常如下:--- Cause: com.ibatis.common.beans.ProbeException: There is no READABLE property named 'firstName' in class 'java.lang.String' at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:188)
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForList(GeneralStatement.java:123)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:615)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:589)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapClientImpl.java:95)
at com.test.main.Main.main(Main.java:21)
sqlMap.xml中配置如下:
<sqlMap>    <statement id="dyanmicSql" resultClass="com.test.Contact" parameterClass="java.lang.String">
    
     select * from userinfo
     <dynamic prepend=" where ">
        <isNull property="firstName">
            firstName is not null
        </isNull>
        <isNotNull property="firstName" >
            firstName=#firstName#
        </isNotNull>
     </dynamic>
    </statement>

</sqlMap>调用如下:List<UserInfo> list =sqlMapClient.queryForList("dyanmicsql","chen2");
 System.out.println(list.size());

解决方案 »

  1.   

    resultClass="com.test.Contact"和List <UserInfo>这两个怎么会不一样?你这两个是同一个类吗?
      

  2.   

    <isNull property="#value#"> 
    修改成这样看看
      

  3.   

    英文的意思是:
    没有叫作firstName的可以读取的属性。
    ProbeException一般的都是没有getter方法,或者map里面没有这个key同意1楼的诊断good luck