首先根据长度需求通过java的随机函数java.util.Random生成随机数,如希望得到5位随机id,则可以使用如下语句

int r = (new Random()).nextInt()%89999;

int id = 10000 + Math.abs(r);

第二步,检查数据库内是否已经存在该id。可以通过查询该id是否有结果来判断。如果不存在则直接插入,否则重新生成随机数。

以下为完整代码:

public void reg(String username, String password){

Connection conn = null;

PreparedStatement ptmt = null;

ResultSet rs = null;

try{

conn = DBHelper.getConnection();

while(true){

int r = (new Random()).nextInt()%89999;

int id = 10000 + Math.abs(r);

String sql = "select * from employee where id=?;";

ptmt = conn.prepareStatement(sql);

ptmt.setInt(1, id);

rs = ptmt.executeQuery();

if(!rs.next()){

sql = "insert into employee(id, employeename, psw) value"

+ "(?,?,?)";

ptmt = conn.prepareStatement(sql);

ptmt.setInt(1, id);

ptmt.setString(2, username);

ptmt.setString(3, password);

ptmt.execute();

break;

}

}

}catch(Exception ex){

ex.printStackTrace();

}finally{

if(ptmt != null){

try{

ptmt.close();

}catch(Exception ex){

ex.printStackTrace();

}

}

if(rs != null){

try{

rs.close();

}catch(Exception ex){

ex.printStackTrace();

}

}

}

}

mysql生成18位纯数字id_MySQL实现注册时随机生成数字id,类似于注册qq时随机生成qq号...相关推荐

  1. 生成6位纯数字验证码的三种方式

    import java.util.Random;/*** @author lishengchen* @version 1.0* @Date 2020/11/26*/ public class Test ...

  2. mysql获取18位和15位身份证号中的出生日期、年龄

    18位身份证号码 select cast(substring(idno,7,8) as date) as 出生日期,2022-substring(idno,7,4) as age from table ...

  3. Java 生成6位纯数字验证码 发短信验证码处使用

    @Testpublic void randomCodeTest() {Random random = new Random();for (int i = 0; i < 10000; i++) { ...

  4. UUID生成10位纯数字

    public static void main(String[] args) {int hashCode = java.util.UUID.randomUUID().toString().hashCo ...

  5. mysql用18位存储uuid_MySQL中存储UUID的最佳实践

    在MySQL中有一个UUID () 函数,通常用UUID做唯一标识,需要在数据库中进行存储.使用此函数可以让MySQL生成一个UUID值,并以VARCHAR(36)类型的可读形式返回.如图1: 图1 ...

  6. mysql用18位存储uuid_Mysql 存储 UUID

    参考: 通常用UUID做唯一标识,需要在数据库中进行存储. UUID的格式 [java] String string = UUID.randomUUID().toString(); System.ou ...

  7. php 生成18位uuid,php生成UUID

    /** * Generates an UUID * * @param string an optional prefix * @return string the formatted uuid */ ...

  8. Java——随机生成4位验证码,由用户输入并验证是否输入正确,如果输入错误就生成新的验证码让用户重新输入,最多输入5次

    引入包: import java.util.Scanner; import java.util.Random; main函数: public static void main(String[] arg ...

  9. Mysql 判断身份证号码是否满足15位或者18位

    select * from user where cardno REGEXP '[0-9]{18}|[0-9]{17}X|[0-9]{15}'; 说明--使用正则判断,满足条件18位纯数字或者17位纯 ...

最新文章

  1. 一个java删除文件夹的小方法
  2. python语音控制智能家电_Python 树莓派智能音箱语音控制电脑开关机-Python 实用宝典...
  3. SAP Hybris的类型系统更改和ABAP的LOAD_PROGRAM_TABLE_MISMATCH
  4. python 浮点数最小值_PYTHON学习笔记(3)——基本数据类型
  5. 带你自学Python系列(十二):Python函数的用法(二)
  6. Flutter MouseRegion 链接高亮显示样式 只有你想不到 没有你做不到的
  7. Pwn2Own 三连冠团队成员访谈实录:如何才能登峰造极?
  8. 使用严格模式的坏处_再见面试官:单例模式有几种写法?
  9. 合成孔径雷达影像(SAR图像)变化检测深度学习研究方法
  10. 华为二层网络隔离与互通(vlan隔离与端口隔离)
  11. 裤子尺码对照表eur40_裤子的欧码32 34 36 38 40代表什么意思
  12. Kuma是什么? Kuma1.0 GA 发布了包含70+新特性和改进
  13. 查找对方IP地址技巧五招
  14. JavaScript 的时间使用
  15. 高频词 词云图 文本重心 聚类
  16. [图像处理]-Opencv中数据类型CV_8U, CV_16U, CV_16S, CV_32F 以及 CV_64F是什么?
  17. Thinkpad L440 无线驱动突然无法使用,无法搜索到无线上网
  18. IE8和IE9发送跨域请求
  19. Dive into Vue.js
  20. android控件ListView设置onClick事件

热门文章

  1. github android涂鸦,Android 涂鸦最佳实践
  2. 统信uos 没有通过系统安全验证,无法运行
  3. wps转换成word如何实现?不妨试试这两个小技巧
  4. 四年级计算机教学总结,四年级信息技术教学工作总结
  5. LED指示灯在常见网络设备故障诊断中的应用
  6. ORAN C平面传输和基本功能
  7. 计算机数学基础知识点归纳,计算机数学基础--详细介绍
  8. Transformer时序预测
  9. iOS开发 - 使用IJKPlayer时,关于需求要边下边播的缓存功能,退回来后播放缓存不再耗流量
  10. sklearn库中的标准数据集及基本功能