mybatis使用动态sql时报错:There is no getter for property named '*' in 'class java.lang.String

mybatis使用动态sql:如<if><when><trim><where>,而parameterType又恰好是string,

如下:


<select id="getP_VListWithParams" parameterType="string" resultMap="p_vMap">
       		select * from p_v 
       		 <where>
	            <if test="<span style="background-color: rgb(51, 204, 0);"><strong><span style="font-size:24px;">p_v_id</span></strong></span>!= null">
	                locate (#{p_v_id},p_v_id)
	            </if>
            </where>
 </select>

此时,如果程序调用到getP_VListWithParams方法,则会报错:There is no getter for property named '*' in 'class java.lang.String


临时性的解决方案,把<if>检测语句中的p_v_id替换成_parameter,即:

<span style="background-color: rgb(240, 240, 240);"><select id="getP_VListWithParams" parameterType="string" resultMap="p_vMap">
       		select * from p_v 
       		 <where>
	            <if test="</span><span style="font-size:24px;"><strong><span style="background-color: rgb(0, 153, 0);">_parameter</span><span style="color:#33cc00;background-color: rgb(240, 240, 240);"> </span></strong></span><span style="background-color: rgb(240, 240, 240);">!= null">
	                locate (#{p_v_id},p_v_id)
	            </if>
            </where>
    </select></span>


即可解决上述报错,根本原因,请参考blog:

http://blog.csdn.net/qing_gee/article/details/47122227


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值