5.1 鍏崇郴鏁版嵁搴撴寜涓婚敭鍖哄垎涓嶅悓鐨勮褰?/span>
涓婚敭鐨勭壒鐐癸細
1銆佷笉鍏佽涓簄ull錛?br />
2銆佹瘡鏉¤褰曞叿鏈夊敮涓鐨勪富閿鹼紝涓嶅厑璁鎬富閿奸噸澶嶏紱
3銆佹瘡鏉¤褰曠殑涓婚敭鍊兼案榪滀笉浼氭敼鍙樸?br />
璁劇疆涓婚敭鐨勬柟寮忥細
5.1.1 鎶婁富閿畾涔変負鑷姩澧為暱鏍囪瘑絎︾被鍨?/h2>
鍦∕ySQL涓紝濡傛灉鎶婅〃鐨勪富閿涓?auto_increment 綾誨瀷錛屾暟鎹簱灝變細鑷姩涓轟富閿祴鍊箋?br />
渚嬪錛?br />
CREATE TABLE CUSTOMERS(
ID int auto_increment primary key not null,
NAME varchar(15));
INSERT INTO CUSTOMERS(NAME) VALUES("name1");
INSERT INTO CUSTOMERS(NAME) VALUES("name2");
SELECT ID FROM CUSTOMERS;
鏌ヨ緇撴灉錛?br />
ID
1
2
鍦∕S SQL Server涓紝濡傛灉鎶婅〃鐨勪富閿涓?identity 綾誨瀷錛屾暟鎹簱灝變細鑷姩涓轟富閿祴鍊鹼細
CREATE TABLE CUSTOMERS(
ID int identity(1,1) primary key not null,
NAME varchar(15));
INSERT INTO CUSTOMERS(NAME) VALUES("name1");
INSERT INTO CUSTOMERS(NAME) VALUES("name2");
SELECT ID FROM CUSTOMERS;
鏌ヨ緇撴灉錛?br />
ID
1
2
5.1.2 浠庡簭鍒楋紙Sequence錛変腑鑾峰彇鑷姩澧為暱鐨?鏍囪瘑絎?/h2>
鍦∣racle涓紝鍙互涓烘瘡寮犺〃鐨勪富閿垱寤轟竴涓崟鐙殑搴忓垪錛岀劧鍚庝粠榪欎釜搴忓垪涓幏寰楄嚜鍔ㄥ鍔犵殑鏍囪瘑絎︼紝鎶婂畠璧嬪肩粰涓婚敭銆?br />
渚嬪浠ヤ笅璇彞鍒涘緩浜嗕竴涓悕涓?CUSTOMERS_ID_SEQ鐨勫簭鍒楋紝榪欎釜搴忓垪鐨勮搗濮嬪間負1錛屽閲忎負2錛?br />
CREATE SEQUENCE CUSTOMERS_ID_SEQ INCREMENT BY 2 START WITH 1;
涓鏃﹀畾涔変簡 CUSTOMERS_ID_SEQ 搴忓垪錛屽氨鍙互璁塊棶搴忓垪鐨?curval 鍜?nextval 灞炴с?br />
curval錛氳繑鍥炲簭鍒楃殑褰撳墠鍊箋?br />
nextval錛氬厛澧炲姞搴忓垪鐨勫鹼紝鐒跺悗榪斿洖搴忓垪鍊箋?br />
浠ヤ笅SQL璇彞鍏堝垱寤轟簡CUSTOMERS琛紝鐒跺悗鎻掑叆涓ゆ潯璁板綍錛屽湪鎻掑叆鏃惰瀹氫簡ID鍜孨AME瀛楁鐨勫鹼紝鍏朵腑ID瀛楁鐨勫兼潵鑷簬CUSTOMERS_ID_SEQ搴忓垪銆傛渶鍚庢煡璇USTOMERS琛ㄤ腑鐨処D瀛楁銆?br />
CREATE TABLE CUSTOMERS(
ID int primary key not null,
NAME varchar(15));
INSERT INTO CUSTOMERS VALUES(CUSTOMERS_ID_SEQ.curval, 'Tom');
INSERT INTO CUSTOMERS VALUES(CUSTOMERS_ID_SEQ.nextval, 'Mike');
SELECT ID FROM CUSTOMERS;
濡傛灉鍦∣racle涓墽琛屼互涓奡QL璇彞錛屾煡璇㈢粨鏋滐細
ID
1
3
5.2 Java璇█鎸夊唴瀛樺湴鍧鍖哄垎涓嶅悓鐨勫璞?/span>
鍦↗ava璇█涓紝鍒ゆ柇涓や釜瀵硅薄寮曠敤鍙橀噺鏄惁鐩哥瓑錛屾湁浠ヤ笅涓ょ姣旇緝鏂瑰紡錛?
錛?錛夋瘮杈冧袱涓彉閲忔墍寮曠敤鐨勫璞$殑鍐呭瓨鍦板潃鏄惁鐩稿悓錛?#8220;==”榪愮畻絎﹀氨鏄瘮杈冪殑鍐呭瓨鍦板潃銆傛澶栵紝鍦∣bject綾諱腑瀹氫箟鐨別quals(Object o)鏂規硶錛屼篃鏄寜鍐呭瓨鍦板潃鏉ユ瘮杈冪殑銆傚鏋滅敤鎴瘋嚜瀹氫箟鐨勭被娌℃湁瑕嗙洊Object綾葷殑equals(Object o)鏂規硶錛屼篃鎸夊唴瀛樺湴鍧姣旇緝銆?br />
渚嬪錛屼互涓嬩唬鐮佺敤new璇彞鍏卞垱寤轟簡涓や釜Customer瀵硅薄錛屽茍瀹氫箟浜嗕笁涓狢ustomer綾誨瀷鐨勫紩鐢ㄥ彉閲廲1銆乧2鍜宑3錛?br />
Customer c1 = new Customer("Tom");//line1
Customer c2 = new Customer("Tom");//line2
Customer c3 = c1;//line3
c3.setName("Mike");//line4
鍥?-1鍜屽浘5-2鏄劇ず浜嗙▼搴忔墽琛屽埌絎?琛屽強絎?琛岀殑瀵硅薄鍥俱?br />

浠庡浘5-1鍜屽浘5-2鐪嬪嚭錛宑1鍜宑3鍙橀噺寮曠敤鍚屼竴涓狢ustomer瀵硅薄鑰宑2鍙橀噺寮曠敤浜嗚宑2鍙橀噺寮曠敤鍙︿竴涓狢ustomer瀵硅薄銆傚洜姝わ紝琛ㄨ揪寮?c1==c3"浠ュ強c1.equals(c3)鐨勫奸兘鏄痶rue錛岃岃〃杈懼紡"c1==c2"浠ュ強c1.equals(c2)鐨勫兼槸false銆?br />
錛?錛夋瘮杈冧袱涓彉閲忔墍寮曠敤鐨勫璞$殑鍊兼槸鍚︾浉鍚岋紝Java API涓殑涓浜涚被瑕嗙洊浜哋bject綾葷殑equals(Object o)鏂規硶錛屽疄鐜版寜瀵硅薄鍊兼瘮杈冦?br />
String綾誨拰Date綾?br />
Java鍖呰綾伙紝鍖呮嫭錛欱yte銆両nteger銆丼hort銆丆haracter銆丩ong銆丗loat銆丏oubl鍜孊oolean銆?br />
渚嬪錛?/p>
String s1 = new String("hello");
String s2 = new String("hello");
灝界s1鍜宻2寮曠敤涓嶅悓鐨凷tring瀵硅薄錛屼絾鏄畠浠殑瀛楃涓插奸兘鏄?#8220;hello”錛屽洜姝よ〃杈懼紡“s1==s2鐨勫兼槸false錛岃岃〃杈懼紡s1.equals(s2)鐨勫兼槸true銆?/p>
鐢ㄦ埛鑷畾涔夌殑綾諱篃鍙互瑕嗙洊Object綾葷殑equals(Object o)鏂規硶錛屼粠鑰屽疄鐜版寜瀵硅薄鍊兼瘮杈冦備緥濡傦紝鍦–ustomer綾諱腑娣誨姞濡備笅equals(Object o)鏂規硶錛屼嬌瀹冩寜瀹㈡埛鐨勫鍚嶆潵姣旇緝涓や釜Customer瀵硅薄鏄惁鐩哥瓑錛?br />
public boolean equals(Object o) {
if(this==o){
return true;
}
if(!o instanceof Customer) {
return false;
}
final Customer other = (Customer)o;
if(this.getName().equals(other.getName())){
return true;
}else{
return false;
}
}
浠ヤ笅浠g爜鐢╪ew璇彞鍏卞垱寤轟簡涓や釜Customer瀵硅薄錛屽茍瀹氫箟浜嗕袱涓狢ustomer綾誨瀷鐨勫紩鐢ㄥ彉閲廲1鍜宑2錛?br />
Customer c1 = new Customer("Tom");
Customer c2 = new Customer("Tom");
灝界c1鍜宑2寮曠敤涓嶅悓鐨凜ustomer瀵硅薄錛屼絾鏄畠浠殑name鍊奸兘鏄?#8220;Tom”錛屽洜姝よ〃杈懼紡“c1==c2鐨勫兼槸false錛岃岃〃杈懼紡c1.equals(c2)鐨勫兼槸true銆?br />

]]>