更新用户信息的时候为什么需要新建updateUser 而不直接采用传过来的更新信息user

来源:6-7 更新用户个人信息功能开发

94年的矿泉水

2018-02-27

更新用户信息的时候为什么需要新建updateUser 而不直接采用传过来的更新信息user

写回答

1回答

星辰Iron

2018-02-27

同学你好

hi同学,我们调用的 是updateByPrimaryKeySelective这个方法

<update id="updateByPrimaryKeySelective" parameterType="com.mmall.pojo.User" >
 update mmall_user
 <set >
   <if test="username != null" >
     username = #{username,jdbcType=VARCHAR},
   </if>
   <if test="password != null" >
     password = #{password,jdbcType=VARCHAR},
   </if>
   <if test="email != null" >
     email = #{email,jdbcType=VARCHAR},
   </if>
   <if test="phone != null" >
     phone = #{phone,jdbcType=VARCHAR},
   </if>
   <if test="question != null" >
     question = #{question,jdbcType=VARCHAR},
   </if>
   <if test="answer != null" >
     answer = #{answer,jdbcType=VARCHAR},
   </if>
   <if test="role != null" >
     role = #{role,jdbcType=INTEGER},
   </if>
   <if test="createTime != null" >
     create_time = #{createTime,jdbcType=TIMESTAMP},
   </if>
   <if test="updateTime != null" >
     update_time = now(),
   </if>
 </set>
 where id = #{id,jdbcType=INTEGER}
</update>


注意看他的实现,自己new之后只更新想更新的。不必要的重复更新就不更新了。


0
2
Geely
回复
94年的矿泉水
目前session里通过update之后的确有这个问题,赞同学。可以修改一下,session里一期主要是判断是否登录所用。里面的字段也不都全部使用。
2018-03-02
共2条回复

从0开始 独立完成企业级Java电商网站服务端开发

前后端分离,数据库接口设计,架构设计,功能开发,上线运维

9476 学习 · 8804 问题

查看课程