閱讀941 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Mybatis中傳參包There is no getter for property named 'XXX' in 'class java.lang.String'

一、發現問題

<select 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 resultType="student" parameterType="string">  

select num,name,phone from student  
<where> 
<if test = " _parameter!=null and_parameter!='' ">
AND num = #{_parameter}
</if>
</where>
</select>
無論參數名,都要改成"_parameter"。


三、原因分析

Mybatis默認采用ONGL解析參數,所以會自動采用對象樹的形式取string.num值,引起報錯。也可以public List methodName(@Param(value="num") String num)的方法說明參數值


參考博客:

https://blog.sina.com.cn/s/blog_86e49b8f010191hw.html

https://txin0814.iteye.com/blog/1533645



最後更新:2017-04-03 20:43:08

  上一篇:go Windows Phone自定義控件
  下一篇:go PL/SQL Developer導入導出數據庫方法及說明