2010-03-17 28 views
5

關於每個人的意見是在配置文件中存儲SQL查詢的一般性問題?在配置文件中存儲SQL查詢?

這是否只是另一個自行車棚?

乾杯, 本

+0

你可以擴展你爲什麼想要。我不認爲這是一個簡單的是/否的情況,並且可能有更好的替代方法來實現你所追求的目標。 – CResults 2010-03-17 12:14:57

+1

對不起,只是澄清我沒有特別的想法,只是在尋找關於這個問題的觀點。 – 2010-03-19 11:05:11

回答

1

那是,如果你使用iBatis的,你會怎麼做。我沒有看到它的傷害。

當它不必要時,它肯定會動態構建它們。

1

不可以。認真;)目前清理這裏。

試着看看BLToolkit - 將它們存儲在抽象類的屬性中,它們動態地生成整個訪問代碼。就像在配置文件中使用它一樣,但不寫或看到愚蠢的DAL代碼。

2

對我來說聽起來不是那麼糟糕,只要它符合要求。

您是否試圖讓客戶查看和編輯查詢?

您是否試圖使開發/測試更容易?

我當然更喜歡這個嵌入查詢代碼。

但是這個文件會有大量不同的查詢(SORT ASCENDING,SORT DESCENDING,SUM(col1)+ SUM(col2),SUM(col1)+ SUM(col3)等等) )

1

在這種情況下,我想將它們存儲在數據庫中:

  1. 將使其更難定期喬擺弄我的查詢,危及我的應用程序。
  2. 他們不能推斷我如何存儲我的數據。
  3. 這些更改將自動反映,無需「推送」配置文件。

但是,真的,我推斷而不知道你的實際情況。但是在袖口之外,我不希望其他人看到我如何與我的模式進行交互或者如何進行佈局。

1

你有什麼理由把它們放在任何地方,但在代碼中?我發現SQL更改的頻率通常與您的代碼速度相同,這意味着如果更改UserDao.java,則可能需要同時更改sql-statements.properties。據說,代碼的讀取次數比寫入次數多,因此編寫可讀代碼對於乾淨的代碼庫至關重要。將SQL語句放在一個單獨的文件中,開發人員必須查看其他地方以確定您的UserDao使用哪些查詢,從而使您的代碼更加難以理解。

簡短的回答?如果可能,我會避免它。