我已經編寫了一個幫助組織家庭賬單的應用程序。問題在於,一個家庭可以住一個人以上,一個人可以有多個住所(例如我 - 在這兩種情況下:))。所以我決定讓用戶有可能將承包商(付款接收者)綁定到多個用戶和多個家庭。Java比較int數組,過濾並插入或更新到DB
在我的數據庫中,帳戶和承包商之間以及家庭和承包商之間有連接表。太好了,不是嗎?
現在,重點是我得到一個相關的用戶(或房屋)列表作爲sql數組,並最終保留爲整數[]數組。我做了一些虛擬的數據庫條目,所以我可以測試功能,它工作正常。
但是......我完全不知道如何正確地將更改的值存儲在數據庫中。我的桌子的結構是:
用戶 ID |用戶名| .... 1 | user1 | ... 2 | user2 | ...
承包商 ID |名稱| ... 1 |承包商1 | ...
users_contractors user_id | contractor_id | is_deleted 1 | 1 |假 1 | 2 |假 等.....
所以我得到的是:與承包商和與控制器(修改後的)相關的第二個用戶數組相關的用戶數組。現在我需要將值存儲在數據庫中。當用戶+承包商不存在 - 我需要插入該關係。如果它已經存在於數據庫中,但不存在於我的數組中(例如,連接已被刪除) - 我需要更新關係表並標記爲deleted = true。
我發現了一些關於如何比較兩個數組的解決方案,但他們都假設數組的長度相同,並且它們僅將相同索引的值進行比較。
所以我需要的是比較不是我們說的數組,而是數組值(如果一個數組包含另一個數組的值或相反)。這可以在沒有forloop-in-forloop的情況下實現嗎?
預先感謝您。 Tom
您是否考慮過使用ORM解決方案來滿足您的需求?我認爲這會幫助你擺脫與設計對象和更新值有關的大部分問題。 – Amal
我不確定我完全理解:您有一組用戶ID和一組承包商ID,您需要更新數據庫,以便數組1的所有用戶都與數組2的所有承包商有關? –