2012-02-07 30 views
1

當我從ResultSet創建域對象的實例時,是否應該將空字符串轉換爲空字符串。相反,寫入數據庫時​​應該將空字符串轉換爲空字符串?編組和解組結果集:處理空字符串

這裏最好的做法是什麼?還是僅僅依賴於應用程序?

非常感謝。

回答

2

空字符串""與其他任何字符串一樣。對我來說,存儲""NULL的意義與存儲""''和存儲​​爲NULL一樣有意義。

所以,讓事情變得簡單:商店""'',並存儲null引用作爲NULL


引述MySQL reference manual

NULL值的概念是混亂的新人到SQL,誰往往認爲NULL是同樣的事情作爲一個空字符串''公共源。

+0

謝謝@aioobe。是的,這也是我的想法,儘管這會導致很多「if!= null」。 – mip 2012-02-07 10:39:27

2

IMO,你應該保留NULL作爲空值。根據您的數據庫架構,空字符串和null是兩個不同的值。如果你混淆了這些值,你的代碼可能會產生意想不到的結果 - 特別是如果你有多個開發人員在相同的代碼庫上工作。您可能需要考慮下游代碼中的兩種情況,但這很可能會更清晰,更易於維護/可測試。