這里有一個刪除方法:
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 即可。