1. 程式人生 > 其它 >Mybatis單個引數的if判斷(針對異常:There is no getter for property..)------mybatis的內建物件

Mybatis單個引數的if判斷(針對異常:There is no getter for property..)------mybatis的內建物件

這裡有一個刪除方法:
int deleteByPrimaryKey(Integer id);
然後對應的sql的xml如下:
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
  delete from tablename
  where id = #{id,jdbcType=INTEGER}
</delete>
以上是單個引數一般的寫法。
但是如果我下面的同樣也是單個引數,但是且報錯了:There is no getter for property..!!
DAO:
List<Article> recommandList( Integer siteid);
XML:
<select  id="recommandList" resultMap="BaseResultMap">

  SELECT a.*  from article a where a.id in
  (SELECT atr.article_id from article_tags_relation atr where isdelete =0)
  <if test="siteid !=0">
  and a.article_type_id = #{siteid,jdbcType=INTEGER}
  </if>
  ORDER BY a.publish_time desc

</select>
為什麼呢?因為if裡面用了mybatis的內建物件,例如這裡:“
 <if test="siteid !=0">


為了解決這個問題,程式碼修改:
DAO:
List<Article> recommandList(@Param("siteid") Integer siteid);

如上修改,給siteid @Param注入getter 即可。

TRANSLATE with x English
Arabic Hebrew Polish
Bulgarian Hindi Portuguese
Catalan Hmong Daw Romanian
Chinese Simplified Hungarian Russian
Chinese Traditional Indonesian Slovak
Czech Italian Slovenian
Danish Japanese Spanish
Dutch Klingon Swedish
English Korean Thai
Estonian Latvian Turkish
Finnish Lithuanian Ukrainian
French Malay Urdu
German Maltese Vietnamese
Greek Norwegian Welsh
Haitian Creole Persian
TRANSLATE with COPY THE URL BELOW Back EMBED THE SNIPPET BELOW IN YOUR SITE Enable collaborative features and customize widget: Bing Webmaster Portal Back