我有一些一般性的問題。有沒有可能有一個Java程序,與用戶指定的數據庫類型一起工作,讓我們說應用程序的設置。意思是,根據運行應用程序的服務器以及數據庫服務器的類型,應用程序必須調整自身以運行其查詢。
我是否必須爲不同類型的數據庫指定不同的查詢?使用不同關係數據庫的Java程序
0
A
回答
2
可能嗎?當然。一般來說,如果您確實需要數據庫獨立性,則可以編寫應用程序,利用獨立於數據庫的框架來處理持久數據並從相關數據庫中檢索數據。例如,Hibernate就知道如何構建針對Oracle的查詢,以及如何生成針對SQL Server,MySQL等執行相同操作的不同查詢。當然,構建完全獨立於數據庫的應用程序引入了其他問題。例如,不同的數據庫以不同的方式處理鎖定 - SQL Server中的一個簡單的SELECT
將鎖定一行,而Oracle不會這樣做。這可能會導致您的應用程序根據數據庫的行爲而有所不同。另外,完全獨立於數據庫的應用程序通常不能像利用特定數據庫獨特功能的應用程序那樣進行擴展 - 像Hibernate這樣的框架不會生成針對特定應用程序針對任何特定數據庫最有效的SQL。當然,它會針對每個數據庫生成通常合理的SQL,但知道業務需求和特定數據庫的人員幾乎肯定會做得更好。
+0
我同意賈斯汀。在我看來,除非你有最簡單的應用程序,否則試圖實現數據庫中立是傻瓜的差事。 – OldProgrammer
相關問題
- 1. 使用關係數據庫部署Java web應用程序
- 2. 關係數據庫應用程序
- 3. 使用關係數據庫
- 4. NoSQL數據庫與傳統關係數據庫有何不同?
- 5. 數據庫和應用程序之間雙向OneToMany關係不同步
- 6. Mysql的同步關係數據庫
- 7. 使用關係數據庫和關係數據庫對象的區別
- 8. 手柄在類的關係數據,而不使用數據庫
- 9. 如何使用與關係的兩個不同的數據庫在一個asp.net的MVC C#應用程序
- 10. 在關係數據庫中處理不同的用戶權限
- 11. 在不同的應用程序中使用SQLite數據庫
- 12. 配置ADP應用程序以使用不同的數據庫...?
- 13. 使用無關數據的關係數據庫 - 最佳實踐
- 14. Has_Many,Belongs_To數據庫驅動應用程序中的關係
- 15. 「多對多」關係的同義詞(關係數據庫)
- 16. Java Netbeans數據庫表關係
- 17. MySql |關係數據庫vs非關係數據庫的性能
- 18. 關係數據庫中的關係「OR」
- 19. 兩個不同的Java應用程序共享相同的數據庫
- 20. OOP像關係數據庫和同步
- 21. 使用數據庫創建Java程序的安裝程序
- 22. 數據庫關係
- 23. 數據庫關係
- 24. 數據庫關係
- 25. 關係數據庫
- 26. MVC首先使用關係數據庫
- 27. 使用XML模擬關係數據庫
- 28. 使用LINQ搜索關係數據庫
- 29. 使用UML建模數據庫:關係
- 30. 使用Lucene像關係數據庫
是的,這是可能的。爲您希望用戶使用的數據庫添加支持。並根據用戶的選擇直接選擇「數據庫連接器」。 –