Mybatis 报错 There is no getter for property named '***' in 'class java.lang.String'

  在mapper.xml中 , 如果单参数是String类型 , 且在sql语句中对参数进行了判断 , 如下 when 中的判断 , 如果出现 if 判断也是一样的。都需要把判断中的参数用 _parameter 来代替 ,。

  另外orcal中判断字段是否为空需要使用 is null , 同理,判断不为空使用 is not null 。

  错误查询:

<select id = "select"  resultMap="ResultMap" parameterType="String">
select
name,code,parent,level
from
table
<where>
<choose>
<when test="code != null and code !=''">
and code = #{code}
</when>
<otherwise>
and code is null
</otherwise>
</choose>
</where>
</select>

  正确查询:


<select id = "select" resultMap="ResultMap" parameterType="String">
select
name,code,parent,level
from
table
<where>
<choose>
<when test="_parameter !=null and _parameter !=''">
and code = #{code}
</when>
<otherwise>
and code is null
</otherwise>
</choose>
</where>
</select>
posted @ 2017-09-04 19:10  弓长张&木子李  阅读(566)  评论(0编辑  收藏  举报