一、需求分析

需求:用户手机号码字段,必须保持唯一;

分析:新增时,手机号码不能在库里查到;更新时,如果在库里查看,比较用户id是否一致。

二、代码实现

 public void checkMobileUnique(Long id, String mobile) {//手机号为空不进行校验if (StrUtil.isBlank(mobile)) {return;}AdminUserDO user = userMapper.selectByMobile(mobile);//没有查到有用户使用此手机号码if (user == null) {return;}//新增时校验if (id == null) {//手机号已经存在throw exception("手机号已经存在");}//更新时校验,判断查出的用户是否是当前用户if (!user.getId().equals(id)) {//手机号已经存在throw exception("手机号已经存在");}}

三、使用示例

//新增
checkMobileUnique(null,mobile);
//更新
checkMobileUnique(id,mobile)

Java开发唯一性校验技巧相关推荐

  1. N个Java开发常用规范技巧总结

    点击上方"朱小厮的博客",选择"设为星标" 做积极的人,而不是积极废人 1.类的命名使用驼峰式命名的规范. 例如:UserService,但是以下情景例外:DO ...

  2. 好程序员分享Java开发常用规范技巧二

    1.使用一些日期类的时候,推荐使用LocalDateTime来替代Calendar类,或者说使用Instant来替代掉Date类. 2.尽量避免在for循环里面执行try-catch操作,可以选择将t ...

  3. 留着肯定有用,让你脱胎成技术大神的JAVA开发技巧

    作为当前全球最热门之一的开发语言,Java正在野蛮地扩张自己的领土,从单片机到安卓,随处可见Java的身影.随着越来越多的人加入Java开发环境,阶级分化也逐渐明显.大神和菜鸟,往往只有一线之隔,今天 ...

  4. 6个常用的Java开发技巧,快收藏吧!

    新手Java开发者经常会在开发过程中遇到一些小问题,这些问题是很多初学者经常会犯的错误.今天小千就来给大家介绍6个Java开发中常见的技巧,帮助大家更好的学习和使用java. 1.类的命名使用驼峰式命 ...

  5. java 线程 john_教你Java开发中多线程同步技巧

    教你Java开发中多线程同步技巧 在编写一个类时,如果该类中的代码可能运行于多线程环境下,那么就要考虑同步的问题.在Java中内置了语言级的同步原语--synchronized,这也大大简化了Java ...

  6. Java开发人员可以从Spring框架中学到编程技巧

    毫无疑问,Spring Framework是最受欢迎的Java框架之一,通过提供依赖注入和控制反转等特性,可以轻松创建真实的企业级Java应用程序.但是,Spring不仅是一个DI和IOC框架.通过提 ...

  7. Java开发技巧!整理了3家面试问题:美团+字节+腾讯,工作感悟

    前言 目前绝大部分的Java程序员都是处于增删改查的阶段,但是到了这个阶段后就应该考虑下一个层次的突破了,总不能做一辈子的crud吧- **以目前IT行业的发展趋势以及就业情况来看,**市场早已经不缺 ...

  8. Java开发必备技巧

    1 调试技巧 一般的IDE工具都有以下调试功能,本文以 IntelliJ IDEA 为例 1.1 计算表达式 以下是实际开发中很容易遇到的一种场景:调试下面的代码时,validate() 返回值为tr ...

  9. 作为Java开发工程师如何正确地对待和处理工作中的失误学习方法建议教训成长技巧[王大师]

    本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,<Java王大师王天师>作者 公众号:山峯草堂,非技术多篇文章,专注于天道酬勤的 Java 开发问题.中国国学.传统文化和代 ...

最新文章

  1. 华为SAN存储在linux下的,多路径 - 华为SAN存储在SUSE系统下的主机连通性指南 - 华为...
  2. C语言矩阵M*N节省空间的算法(附完整源码)
  3. SAP Spartacus Product 明细页面 meta description 标签页的数据源
  4. JPA 2 | EntityManagers,事务及其周围的一切
  5. WAF+SLB负载不均衡案例分享
  6. 【测试工具】工具整理
  7. Eclipse插件Ant里运用ftp遇到的问题
  8. 系统学习深度学习(三十一)--Nature DQN(NIPS 2015)
  9. [软件工程基础]2017.10.30 第三次 Scrum 会议
  10. CenterCrop的Video View
  11. 正则判断手机号地区_国内外手机号码正则表达式汇总
  12. 基于飞桨PaddlePaddle的地标检索识别夺竞赛双料大奖,获奖方案全解析
  13. defy+me525+android2.3.6官方镜像包,V大DEFY/DEFY+ ME525 ME525+ 2.3.6巅峰优化版0.86(红头)...
  14. 虚拟化技术概念:什么是虚拟化?虚拟化和云计算的关系详解
  15. Xilinx IOB输出寄存器约束笔记
  16. qpython 3h和oh_**python中的类和他的成员
  17. HC-05蓝牙模块AT指令设置教程
  18. PTA 海盗分赃 (25分)
  19. 【MySQL学习笔记】MySQL原理---单表查询
  20. 三菱变频空调噪声大维修案例分析

热门文章

  1. 一个及其简单的打字游戏
  2. 【图像去雾】Matlab实现9种去雾图像评价
  3. 【Java 1】Java的基础语法
  4. Linux音频驱动之四:I2S 总线操作接口
  5. 使用ISAI EXTENSION开发IIS5.1插件
  6. 暴风AI电视获双11人工智能品类销量第一
  7. 仿微信、短信、QQ等消息数目右上角红色小圆球气泡显示(基于Android XML布局文件实现)
  8. Linux中MySQL(5.7版本) user表被删除,解决办法
  9. 一个代码搞定所有花括号公式形式
  10. python花括号怎么取_Python如何正则提取第三层花括号()里的内容?