登录状态修改密码,发现updateByPrimaryKeySelective接口存在缺陷
来源:6-6 登录状态下重置密码功能开发
暮色如虹
2017-12-15

有两点:
这个接口中因为对update_time字段设置了 if==null 所以导致在更新时,不会修改更新时间。所以我觉得提出“登录状态修改密码为什么不直接用updatePasswrodByUsername”这个问题,您的回答貌似有问题哈~。updatePasswrodByUsername的sql中您就设置了update_time = now()。
在update的sql中,我觉得应该删除对create_time字段的操作,即使有if==null也应该删除。
不知道我想的对不对,斗胆说出了存在缺陷的话,Geely老师可不要怪罪。
另外:我在视频4-9 mybatis三剑客之mybatis-generator配置小节中发现了多配置了个mmall_cart_item。

我这是看完前端视频后第三遍看后端一期视频了,发现了小瑕疵就很兴奋,忍不住要贴上来~
2回答
-
你好同学,你说的很对。
因为这里是自动生成的,当时没有注意,其实是需要改掉的。把时间的if判断去掉。update每次都要,createtime做个空判断即可。
2.怎么会怪,我是很open的,你说的很对滴。
3. mmall_cart_item 这个是当时为了扩展购物车加的,的确没有删除。后来为了一期给基础差的同学,就合并成一个表了,降低项目及表的复杂性。
真的非常非常赞你!很仔细!也有很强的自主思考力!!
012017-12-16 -
堇月枝
2017-12-16
谢谢,那个问题还是我问的……经过你的提醒,我回去看了一下,发现确实updatePasswrodByUsername中有修改更新时间,而updateByPrimaryKeySelective没有,因为并没有setUpdateTime,所以用户传过来的User中updateTime应该是等于null的,这样导致了updateByPrimaryKeySelective的更新时间不会更新,我也赞同每调用一次这个方法就自动更新而不设置if比较好。
012017-12-16
相似问题