求教:mybatis3动态更新sql使用trim+if方式,更新不成功

曾鹏 发布于 2014/05/21 19:02
阅读 2K+
收藏 0

动态sql如下:

<update id="updateCoverFront" parameterType="com.iflytek.ichang.dc.domain.cover.Cover">
update Cover 
<trim prefix="SET" suffixOverrides=",">
<if test="coverfrontid != null and coverfrontid != ''">
CoverFrontID=#{coverfrontid},
</if>
<if test="playstyleid != null and playstyleid != ''">
PlayStyleID=#{playstyleid}
</if>
</trim>
where CoverID=#{coverid}
</update>

运行程序执行上述动态SQL更新不成功,但是没报错。烦请各位帮我看看使用trim+if方式组装动态sql,像上面这样写有没有问题,请指点!谢谢


以下是问题补充:

@曾鹏:这个问题非常怪异,如下形式却能更新成功 <update id="updateCoverInfoStat" parameterType="java.util.HashMap"> update CoverInfoStat <trim prefix="SET" suffixOverrides=","> <if test="replayCount != null and replayCount != ''"> ReplayCount=#{replayCount}, </if> <if test="commentsCount != null and commentsCount != ''"> GetCommentsCount=#{commentsCount}, </if> <if test="flowersCount != null and flowersCount != ''"> GetFlowersCount=#{flowersCount}, </if> </trim> where CoverID=#{coverId} </update> 难道是参数是实体不行,是map才可以吗? (2014/05/21 19:30)
加载中
0
F_L_F
F_L_F
通过log把SQL打印出来分析分析
曾鹏
谢谢!此问题已解决!
0
lxhuang0903
lxhuang0903

com.iflytek.ichang.dc.domain.cover.Cover设置别名Cover,

然后parameterType使用别名Cover

试下

返回顶部
顶部