SSM项目中,数据重复异常如何处理?
例如,添加用户功能
用户信息中的用户名,email,手机号码都应该唯一,当提交数据的时候出现数据重复的时候就应该作相应的提示,如用户名重复就应该提示用户名已存在。
问题
在添加新用户的时候数据重复如何处理?
我的想法
我有想过几种方案,
- 在添加的时候,每个唯一的字段都做检查,重复的就返回提示信息。这种方法对于1个2个字段要检查的还行,如果字段>=3就不现实了,添加数据要执行SQL太多了
- 数据库表设置了唯一索引,直接插入数据,有异常就返回一个错误页面
疑惑
网上很多都是第二种方法,但是令我很不解的是,第二种方法如何精准的提示哪个字段出现重复??
如上面的例子,数据出现异常会捕获org.springframework.dao.DuplicateKeyException
,这有可能是用户名重复,也有可能是email重复,也有可能是手机号码重复,如何提示用户呢?
求解答,有github源码借鉴最好,先多谢各位大佬了
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
真实业务中不会有太多的字段重复检查,如果需要,你可以用切面配合注解来做重复检查
两种方法都要用