您的位置:首页 > 编程语言 > Java开发

关于There is no getter for property named 'mohuname' in 'class java.lang.String'] with root cause问题

2017-03-06 17:52 585 查看
今天做模糊查询时发生了这错误,百思不得起解,最后度出来了,原来在输入值类型设置为String时,在做判断的时候参数需统一修改为‘_parameter’

否则就会发生“There is no getter for property named in ‘class java.lang.String’”错误

<select id="selectmohuSatisfaction" resultMap="satisfactionMap" parameterType="java.lang.String">

select manyidu_id,js.jiaoshi_name,bj.banji_name,kc.kecheng_name ,manyidu_fenshu,manyidu_riqi from manyidu m
inner join jiaoshi js on m.jiaoshi_id=js.jiaoshi_id
inner join banji bj on m.banji_id=bj.banji_id
inner join kecheng kc on m.kecheng_id=kc.kecheng_id
<where>
<if test="mohuname!=null">
and jiaoshi_name like '%' #{mohuname} '%'
or banji_name like '%' #{mohuname} '%'
or kecheng_name like '%' #{mohuname} '%'
</if>
</where>
</select>


上面的就是我发生错误的地方,在
<if test="mohuname!=null">
判断的时候改为`就好了

注意只有判断的语句才必须使用_parameter,在

and jiaoshi_name like '%' #{mohuname} '%'

or banji_name like '%' #{mohuname} '%'

or kecheng_name like '%' #{mohuname} '%'
中就没有用_parameter,也没有报错。

后来我尝试将#{mohuname} 改为#{_parameter} 也可以运行

`
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐