Mybatis中传参包There is no getter for property named 'XXX' in 'class java.lang.String'(示

Posted 幕码人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis中传参包There is no getter for property named 'XXX' in 'class java.lang.String'(示相关的知识,希望对你有一定的参考价值。

Mybatis中传参包There is no getter for property named ‘XXX‘ in ‘class java.lang.String‘

一、发现问题

<select id="queryStudentByNum" resultType="student" parameterType="string">  

select num,name,phone from student  
<where> 
<if test = " num!=null and num!=‘‘ ">
AND num = #{num}
</if>
</where>
</select> 
Mybatis查询传入一个字符串传参数,报There is no getter for property named ‘num‘ in ‘class java.lang.String‘。


二、解决问题

<select id="queryStudentByNum" resultType="student" parameterType="string">  

select num,name,phone from student  
<where> 
<if test = "_parameter!=null">
AND num = #{_parameter}
</if>
</where>
</select>
无论参数名,都要改成"_parameter"


三、原因分析

Mybatis默认采用ONGL解析参数,所以会自动采用对象树的形式取string.num值,引起报错。也可以public List methodName(@Param(value="num") String num)的方法说明参数值

以上是关于Mybatis中传参包There is no getter for property named 'XXX' in 'class java.lang.String'(示的主要内容,如果未能解决你的问题,请参考以下文章

mybatis 异常 There is no getter for property named 'bizId' in 'class java.lang.Long'(示

mybatis There is no getter for property named 'xxxx

Mybatis单个参数的if判断(针对异常:There is no getter for property..)------mybatis的内置对象

mybatis出现There is no getter for property named ...的原因及解决办法

Mybatis单个参数报错: There is no getter for property named

Mybatis单个参数报错: There is no getter for property named