是否可以寫數據庫方法屬性文件中,像一些數據庫查詢,並且可以使用servlet這可能會降低代碼訪問?servlet和資源文件
回答
- 的web應用可以訪問屬性文件。
- 一個化子性質的文件可能有這樣QUERY1 =選擇一些鍵值對從某處
您可以依次在Web應用程序執行sql查詢組合1和2,但我不知道它會降低代碼(你還是要打開數據庫連接,讀取RS,關閉連接等)
謝謝大家......是否有可能在屬性文件中寫入方法? – srikanth 2010-04-15 07:40:05
當然,你可以把你的查詢在一個屬性文件,但如果你正在使用JDBC,代碼經常要看這些查詢。參數的數量和順序不能改變,結果也一樣,所以我沒有看到很多優點。
可以存儲在web應用程序可以訪問的文件查詢,然後用準備好的語句來執行它們。通過這樣做,您的查詢字符串在外部文件中,您在代碼中執行的所有操作都將填充參數,但您必須首先從所謂的「屬性文件」中讀取查詢字符串。
例子:
String query; // read the query from the "properties file"
//Suppose you put "INSERT INTO BOOKS (AUTHOR, TITLE) VALUES (?, ?);"
PreparedStatement ps = conn.prepareStatement(query);
ps.setString(1, "param1");
ps.setString(2, "param2");
ps.executeUpdate();
我見過DB完成工作的各種硬編碼SQL的方式直接進入每一個訪問數據庫的方法,到SQL存儲在中央文件中的靜態字符串,它是存儲在屬性文件中,最後當然還有ORM,比如hibernate。我甚至看到SQL存儲在數據庫中!
我決不會建議儲存遠離需要它們的代碼的SQL(或ORM查詢)。簡單的原因是,我的經驗是,通過斷開連接,開發人員開始重用和錯誤使用查詢。隨着時間的推移,開發人員將跟蹤哪些查詢在哪裏使用,並開始添加新的查詢以避免破壞事件的風險。最終他們最終得到的是充滿查詢的文件,而不知道哪些文件甚至被使用。我見過的最糟糕的情況是開發人員將SQL集中起來,並將其製作成單獨的部分。幾乎不可能分辨出改變是否會破壞事情。
用於分隔查詢的初始參數通常是「維護」或「以防我們更改數據庫」等。但是在一天結束時,它將成爲比想要解決的更大的問題。
總之,我建議你保存儘可能靠近使用它們儘可能的代碼查詢。 Hibernate和類似的方法使得這個實用的解決方案變得很長。
- 1. Servlet 3.0和資源
- 2. 從servlet讀取資源文件
- 3. Android和ObjectOutputStream資源文件
- 4. jetty - 創建主要和資源servlet
- 5. 使用Netbeans的JDBC資源和servlet
- 6. 使Servlet成爲READONLY文本/ html資源
- 7. 跨源資源共享和文件://
- 8. maven:添加任意文件作爲servlet上下文資源
- 9. 資源文件
- 10. 資源文件
- 11. JavaWebStart和資源,如圖像和文件
- 12. 從資源文件鏈接到資源
- 13. 不能訪問文件資源,在servlet 7.1.2
- 14. ASP.Net資源文件
- 15. 資源xml文件
- 16. 從資源文件
- 17. Java資源文件
- 18. 資源文件C#
- 19. 資源文件2008
- 20. Spring.NET資源文件
- 21. 如何gradle這個和其他資源文件夾添加資源文件夾
- 22. 在ASP.NET中大型資源文件vs分隔資源文件?
- 23. Javascript資源文件(.js)vs資源文件(.resx)
- 24. .Net MVC3資源文件和多租戶
- 25. FileWriter和jar文件 - 找不到資源
- 26. 從資源加載.dic和.aff文件?
- 27. Rails插件開發文檔和資源
- 28. Android風味和資源文件
- 29. Xcode的建設和資源文件夾
- 30. 類路徑和資源文件
您可能將不得不提供比此更多的上下文。然而,一般來說,讓數據庫訪問---儘可能多的業務邏輯---在服務器端是一個不錯的主意,尤其是你越不信任用戶。至於「屬性文件」,我不知道你在說什麼。 – Steve 2010-04-15 07:33:57
@Steve:http://java.sun.com/docs/books/tutorial/essential/environment/properties.html這就像Java的'.ini'文件。 – BalusC 2010-04-15 11:30:35
@srikanth:你的問題很模糊。 「數據庫方法」是什麼?你不是指SQL語句嗎?或者你的意思是真正的Java代碼?你爲什麼想這麼做? – BalusC 2010-04-15 11:32:04