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

4 篇文章 0 订阅
2 篇文章 0 订阅

今天做模糊查询时发生了这错误,百思不得起解,最后度出来了,原来在输入值类型设置为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} 也可以运行
`

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值