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 即可。











免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM