========【更新时,一定不能更新 record创建时间。】
即使传入参数数据了。有些情况可能没有获取到。
有些情况 会报错。。。
【背景:
为了,区分incomeWay和cpcType两个字段,在更新时 全部清空 上次的字段值。
incomWay=0时,cpcType必须=null。
只有在incomWay=1时,cpcType才有值。
】
【为了 在修改incomWay时,清空上次的值。打算一股脑,所有字段 重新更新一遍。
因此 把gmt_create也 重新更新了一遍。【尽管没有必要。】
】
有些情况会报错。。。
【同一份代码,有的人运行不报错,有的人运行就是报错。!!!】
无语。。。不必要的事情,一定不要做。指不定哪天就突然报错了。
========
<!--媒体更新用的这个:多种incomWay和cpc -->
<update id="update" parameterType="com.ybl.clickcube.admin.media.bean.MediaDO">
update admin_media
set media_name = #{mediaName,jdbcType=VARCHAR},
income_way = #{incomeWay,jdbcType=BIT},
cpc_type = #{cpcType,jdbcType=BIT},
user_id = #{userId,jdbcType=INTEGER},
user_id_update = #{userIdUpdate,jdbcType=INTEGER},
income_rate = #{incomeRate,jdbcType=DECIMAL},
click_unit_price = #{clickUnitPrice,jdbcType=DECIMAL},
is_deleted = #{deleted,jdbcType=BIT},
gmt_create = #{gmtCreate,jdbcType=TIMESTAMP},
gmt_modified = #{gmtModified,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=INTEGER}
</update>
====还是要这种安全:
<update id="updateSelective" parameterType="com.ybl.clickcube.admin.media.bean.MediaDO">
update admin_media
<set>
<if test="mediaName != null">
media_name = #{mediaName,jdbcType=VARCHAR},
</if>
<if test="incomeWay != null">
income_way = #{incomeWay,jdbcType=BIT},
</if>
<if test="cpcType != null">
cpc_type = #{cpcType,jdbcType=BIT},
</if>
<if test="userId != null">
user_id = #{userId,jdbcType=INTEGER},
</if>
<if test="userIdUpdate != null">
user_id_update = #{userIdUpdate,jdbcType=INTEGER},
</if>
<if test="incomeRate != null">
income_rate = #{incomeRate,jdbcType=DECIMAL},
</if>
<if test="clickUnitPrice != null">
click_unit_price = #{clickUnitPrice,jdbcType=DECIMAL},
</if>
<if test="deleted != null">
is_deleted = #{deleted,jdbcType=BIT},
</if>
<if test="gmtCreate != null">
gmt_create = #{gmtCreate,jdbcType=TIMESTAMP},
</if>
<if test="gmtModified != null">
gmt_modified = #{gmtModified,jdbcType=TIMESTAMP},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>