例如,
1.如果你的數(shù)據(jù)庫使用int類型字段碳竟,允許為null】】】
那么我們實體類使用integer時草丧,即使不賦值,也不會報錯莹桅,因為integer默認(rèn)為null
但是你實體類使用int時昌执,不賦值時,jdbc會給你返回0诈泼,那么這個0就會作為數(shù)據(jù)懂拾,插入到你的數(shù)據(jù)庫中,后果可想而知铐达,產(chǎn)生了不可控的可怕后果【因為這個0可能代表某種含義】
2. .如果你的數(shù)據(jù)庫使用int類型字段岖赋,不允許為null】】】
使用包裝類integer的時候,如果你往數(shù)據(jù)庫插入null值瓮孙,此時就會拋出異常唐断。然后你就可以對異常進行捕獲并處理。
但是你使用int是杭抠,不管這個int你給他賦值或不賦值脸甘,他都不會為null,不賦值為0偏灿,這個0并不是你想要往數(shù)據(jù)庫插入的數(shù)據(jù)丹诀,但是它在你不知情的情況,就被插入數(shù)據(jù)庫了翁垂,萬一0代表什么含義忿墅,那是很嚴(yán)重的
實體類使用基本數(shù)據(jù)類型的時候,如果字段是NULL沮峡,那么JDBC會返回0疚脐,但是這里會有一個問題。有可能0在你的業(yè)務(wù)邏輯代表著特定含義邢疙,這時候就可能出現(xiàn)一些意想不到的后果棍弄。【你插入數(shù)據(jù)庫數(shù)據(jù)是望薄,這個0就會插入到數(shù)據(jù)庫的字段值中】