今天在Ibatis中做连表查询时,发现传入非映射表的字段值作为查询条件时,会出现错误:There is no READABLE property named 'roomNo' in class 'java.lang.String'
<span style="font-size:14px;"><select id="getSingleRoomDiscount" resultClass="double" parameterClass="java.lang.String">
select distinct td.discount
from t_room_discount td (映射表)
left join t_room tr
on td.room_type = tr.type
where 1=1
<isNotEmpty property="roomNo">
and tr.ROOM_NO = #roomNo:VARCHAR#
</isNotEmpty>
</select> </span>
原因应该是roomNo不是t_room_discount映射类中的属性,找不到映射类中的get方法,解决方法可以是将property省去或设置为value,如<isNotEmpty property="value">