更新个性签名的时候为什么要新建一个user?
如题
这样的话数据库里的记录可以得到更新,但是session中的user数据不会更新呀
正在回答
同学你好,1、为什么要新建一个user。
因为userMapper.updateByPrimaryKeySelective(user)这个方法是插件自动生成的,在xml中,如果某个字段的值不为null的话,就把该字段的值更新进去,如果为null的话,则没有更新这个字段。
如果直接从session里拿到的user,每个属性(或者说字段)都是有值的,比如updateTime,所以如果直接用这个session中的user,调用userMapper.updateByPrimaryKeySelective(user)方法,那update_time字段还是用以前的数据写入到数据库(不会默认更新到当前时间),就不符合逻辑了。
而且更新个性签名,也只是更新personalized_signature字段,所以只需要传入personalizedSignature和id就可以了,这样最安全,不会影响到其他字段。新建一个user,生成的sql语句是最干净的。
2、但是session中的user数据不会更新
这里如果同学想实现可以使用手动来更新一下session中的对象,不过不建议这样做,因为当完成个性签名等内容的修改后,一般会重新登录或者重新请求一下来刷新数据,而不会直接后台修改session中的数据。
- 参与学习 人
- 提交作业 9393 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星