请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

登录状态修改密码,发现updateByPrimaryKeySelective接口存在缺陷

https://img1.sycdn.imooc.com//szimg/5a33d49600017cf204840565.jpg

有两点:

  1. 这个接口中因为对update_time字段设置了 if==null 所以导致在更新时,不会修改更新时间。所以我觉得提出“登录状态修改密码为什么不直接用updatePasswrodByUsername”这个问题,您的回答貌似有问题哈~。updatePasswrodByUsername的sql中您就设置了update_time = now()。

  2. 在update的sql中,我觉得应该删除对create_time字段的操作,即使有if==null也应该删除。

不知道我想的对不对,斗胆说出了存在缺陷的话,Geely老师可不要怪罪。

另外:我在视频4-9 mybatis三剑客之mybatis-generator配置小节中发现了多配置了个mmall_cart_item。

https://img1.sycdn.imooc.com//szimg/5a33d6e700010fbc05150229.jpg

我这是看完前端视频后第三遍看后端一期视频了,发现了小瑕疵就很兴奋,忍不住要贴上来~

正在回答

2回答

Geely 2017-12-16 12:21:50

你好同学,你说的很对。

  1. 因为这里是自动生成的,当时没有注意,其实是需要改掉的。把时间的if判断去掉。update每次都要,createtime做个空判断即可。

2.怎么会怪,我是很open的,你说的很对滴。

3. mmall_cart_item 这个是当时为了扩展购物车加的,的确没有删除。后来为了一期给基础差的同学,就合并成一个表了,降低项目及表的复杂性。


真的非常非常赞你!很仔细!也有很强的自主思考力!!

0 回复 有任何疑惑可以回复我~
  • 提问者 暮色如虹 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2017-12-16 22:51:20
堇月枝 2017-12-16 02:52:40

谢谢,那个问题还是我问的……经过你的提醒,我回去看了一下,发现确实updatePasswrodByUsername中有修改更新时间,而updateByPrimaryKeySelective没有,因为并没有setUpdateTime,所以用户传过来的User中updateTime应该是等于null的,这样导致了updateByPrimaryKeySelective的更新时间不会更新,我也赞同每调用一次这个方法就自动更新而不设置if比较好。

0 回复 有任何疑惑可以回复我~
  • 提问者 暮色如虹 #1
    我也是看了你的提问才发的贴。发完贴后才发现,好多同学都问过if==null的问题了。
    回复 有任何疑惑可以回复我~ 2017-12-16 03:16:42
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号