獲取多個隨機生成的不重複的6位數,不重複的6位數或8位數串
獲取多個隨機生成的6位數,每次獲取都不會與前一次重複
思路1:建立一張表table,每次生成一條之後,查詢一下表中是否已存在這樣的話,資料越來越多,後面就挺麻
煩的,判斷多次才能取到一個表中不存在的
思路2:建議一次性在資料庫表中插入多條資料(如10000條), 表名table、主鍵自增長id、隨機數:randoms,
編寫程式 執行insert 語句插入 然後建立一個sequence,從1開始,步數為1
select randoms from table where id = (select sequence.nextval from dual);
SQL如下:
drop table tbl_random; create table tbl_random( id int not null auto_increment, num varchar(6), misc varchar(10), primary key(id) ); insert into tbl_random(num,misc) values('098787','000');
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class Test { static PreparedStatement pre = null; static ResultSet rs = null; public static void main(String[] args) { for (int i = 0; i < 100; i++) { String result = new Test().getRandom(); System.out.println(result); while (exits(result) == 0) { execInsert(result); break; } } } public String getRandom() { String result = ""; // 下面的6改成8就是8位隨機數字 while (result.length() < 6) { String str = String.valueOf((int) (Math.random() * 10)); if (result.indexOf(str) == -1) { result += str; } } return result; } public static int exits(String num) { try { String sql2 = "select * from tbl_random where num='" + num +"'"; pre = getConnect().prepareStatement(sql2); rs = pre.executeQuery(); System.out.println(sql2); List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); ResultSetMetaData md = rs.getMetaData(); int count = md.getColumnCount(); while (rs.next()) { Map<String, Object> rowData = new HashMap<String, Object>(); for (int i = 1; i <= count; i++) { rowData.put(md.getColumnName(i), rs.getObject(i)); } list.add(rowData); } if (list.size() > 0) { return 1; }else{ return 0; } } catch (Exception e) { e.printStackTrace(); } return 0; } public static void execInsert(String str) { try { String sql = "insert into tbl_random(num,misc) values(?,?)"; pre = getConnect().prepareStatement(sql); pre.setString(1, str); pre.setString(2, "--"); pre.executeUpdate(); System.out.println(sql); } catch (Exception e) { e.printStackTrace(); } } public static Connection getConnect() { String Driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "pwd"; Connection con = null; try { Class.forName(Driver).newInstance(); con = DriverManager.getConnection(url, user, password); } catch (Exception e) { e.printStackTrace(); } return con; } }
相關推薦
獲取多個隨機生成的不重複的6位數,不重複的6位數或8位數串
獲取多個隨機生成的6位數,每次獲取都不會與前一次重複 思路1:建立一張表table,每次生成一條之後,查詢一下表中是否已存在這樣的話,資料越來越多,後面就挺麻 煩的,判斷多次才能取到一個表中不存在的 思路2:建議一次性在資料庫表中插入多條資料(如10000條), 表名t
python基礎一 ------如何獲取多個字典相同的鍵
class dom 集合 pre app wke 生成 參數 tool 需求: 足球賽第一場進去統計 {"A":3,"B":2,"C":1}足球賽第二場進去統計 {"A":3,"C":1}足球賽第二場進去統計 {"A":2,"B":2}統計每場都有進球的人----&g
在java中隨機生成一個無序且長度不大於10的字符串
image ack con 技術 exti pen collect tint span package xiangmu; import java.util.ArrayList; import java.util.Collections; import java.ut
KindEditor獲取多個textarea文本框的值並判斷非空
div 編輯器 fill star fontsize 取值 pop 獲取 sta kindeditor官網:http://kindeditor.net/demo.php 如何獲取多個KindEditor中textarea文本框的值,方式很多種(帶有HTML標簽)。
安裝多個版本號jdk後java -version不改變的問題解決
art 顯示 pad setting shee css clip ssi -s 1、問題 比方先安裝了jdk7後,再安裝jdk6,java -version就是顯示
織夢多個欄目arclist調用副欄目不顯示的解決辦法
repl ike php 顯示 ssi clist art 主頁 com 織夢arclist調用副欄目不顯示,網上關於這個問題的解決辦法有很多,其中一種是:打開/include/taglib/arclist.lib.php,代碼約位於295-296行(我目前用的DedeCM
jquery怎樣獲取多個復選框的值?
target ssa cti contain 樣式 val value css樣式 UNC jquery的遍歷方法可以獲取復選框所欲的選中值 1 2 $("input:checkbox:checked").each(function(index,element
python如何獲取多個excel單元格的值
load 解決 info ace 多層嵌套 traceback spa 數據 多個 一. 獲取多個單元格的值報錯:AttributeError: ‘tuple‘ object has no attribute ‘value‘ 需要讀取的sample.xlsx 代碼讀取的是
jmeter 正則獲取多個返回token至本地文件,並跨線程組調用
mage 表達 processor csv文件 參數 res 例如 通過 mark 1、打開jmeter,創建setup Thread Group對於setup Thread Group和tearDown Thread Group來說,從字面意思上來看就是安裝線程組和卸載線
在js中無法獲取多個id值為demo的問題
例如程式碼中: <script> $(document).ready(function(){ $("#demo").hover(function(){ $("h1").css("background-color","yellow"); },function(){
springmvc介面引數中,獲取多個物件
需求:儲存或者修改時,前端傳多個相同型別的物件,後臺獲取 方法1:(麻煩,不推介) 前臺 :前端資料,通過在名稱加序號,譬如:[{"name_0":"can","sex_0",1},{"name_1":"phil","sex_0",0}] 後臺:通過遍歷,request.get
海思3531獲取多個攝像頭在整個螢幕的畫面
要想獲取整個攝像頭畫面在整個螢幕的畫面只需要比平常的操作多一步即可,例如通常海思SDK通常提供的VENC例子裡的流程是:VI->VPSS->VENC,而我們把他修改成VI->VPSS->虛擬VO->VENC,這樣我們就可以獲取所有攝像頭在螢幕顯示的畫面。虛擬VO配置如下
Webdriver獲取多個元素
官方通過如下程式碼獲取多個元素: Java程式碼 List<WebElement> inputs = driver.findElements(By.xpath("//input"));&n
JQuery 同時獲取多個標籤的指定內容並儲存為陣列
文章來自:原始碼線上https://www.shengli.me/jquery/271.html 此時的list1的陣列中 每個元素已經不是'li'物件,如此執行控制檯會報錯: &nbs
Excel多個表格,去除其他表格中的重複項
需求:有多個表格,要進行多個表格資料匹配,找出相同的資料進行整理,如下圖sheet2去除sheet4中相同的資料 步驟: 1.在要處理的表格(sheet2)的空白單元格D2裡輸入=vlookup(A2,) 2.再選中“參考表格(sheet4)”中要匹配的那列資料(比
jQuery:同一class下,如何獲取多個div的中的最大高度值
第一:要理解Jq中的獲取高度的三個方法height()、 innerHeight()、outerHeight() height():height innerHeight():height+padding outerHeight():height+padding+bo
迴圈獲取多個input標籤的值
<script> var str = ''; $(".a").each(function(index,element){ str += $(this).val()+','; }); str = str.substr
Linux將多個檔案生成.so檔案
本工程共有三個檔案:myhello.c、myhello.h、Makefile myhello.c程式碼如下: #include <stdio.h> #include <string.h> #include "myhello.h" voi
Jmeter--正則表示式提取器獲取多個id
在測上傳圖片API時,同時上傳多張圖片,API響應資訊中會包含多個id。此時我們想要獲得所有的id,並呼叫刪除圖片API刪除所有上傳的圖片。接下來我們配置一下正則表示式提取器中的資訊。 引用名稱:brand_id 正則表示式:"brand_id":"(.+?)" 模板:
C# Directory.GetFiles()獲取多個型別格式的檔案
第一種方式 System.IO.Directory.GetFiles()獲取多個型別格式的檔案 System.IO.Directory.GetFiles("c:\","(*.exe|*.txt)"); 第二種方式 var files = Directory.GetFi