sql建表語句中直接寫就行了
創(chuàng)新互聯(lián)是專業(yè)的門頭溝網(wǎng)站建設(shè)公司,門頭溝接單;提供網(wǎng)站制作、做網(wǎng)站,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行門頭溝網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
在java語句中,
String sql="SQL建表語句";
關(guān)于是否重復(fù),首先要說一下uuid生成的原理
UUID是指在一臺機(jī)器上生成的數(shù)字,它保證對在同一時(shí)空中的所有機(jī)器都是唯一的
UUID由以下幾部分的組合:
(1)當(dāng)前日期和時(shí)間,UUID的第一個(gè)部分與時(shí)間有關(guān),如果你在生成一個(gè)UUID之后,過幾秒又生成一個(gè)UUID,則第一個(gè)部分不同,其余相同。
(2)時(shí)鐘序列。
(3)全局唯一的IEEE機(jī)器識別號,如果有網(wǎng)卡,從網(wǎng)卡MAC地址獲得,沒有網(wǎng)卡以其他方式獲得。
通過組成可以看出,首先每臺機(jī)器的mac地址是不一樣的,那么如果出現(xiàn)重復(fù),可能是同一時(shí)間下生成的id可能相同,不會(huì)存在不同時(shí)間內(nèi)生成重復(fù)的數(shù)據(jù)
至于說同一時(shí)間產(chǎn)生重復(fù)的數(shù)據(jù),就目前來說,是不會(huì)的除非極高的高并發(fā)(如果發(fā)生了,也可以通過原子性操作避免),
所以基本上就認(rèn)為不會(huì)重復(fù)好了
數(shù)據(jù)庫的主鍵主要的功能就是唯一性,以下是我寫的代碼:
package NormalLearn;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 實(shí)現(xiàn)主鍵功能,每次生成的字符串唯一性
* @author Administrator
*
*/
public class OrclSeq{
/**
* 流水號=當(dāng)前時(shí)間(8位)
* @return
*/
public synchronized String getCurrentValue(){
try {
//保證數(shù)據(jù)的唯一性
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String DateStr = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
return DateStr;
}
//線程內(nèi)部類
class ThreadClass implements Runnable{
@Override
public void run() {
String seq = getCurrentValue();
System.out.println(seq);
}
}
public static void main(String[] args) {
//模擬多線程測試
OrclSeq seq = new OrclSeq();
for(int i=0;i1000;i++) {
new Thread(seq.new ThreadClass()).start();
}
}
}