2012-07-31 45 views
3

我的應用程序需要外部化查詢,所以爲了使用默認資源包,我決定在屬性文件中使用查詢。所以,這裏的屬性文件看起來像現在:如何使用格式化的sql加載屬性文件?

SELECT_USER_QUERY = Select username, userid from user where userid=? 

INSERT_USER_QUERY = insert into user values (?,?) 

這裏的問題顯然不是一個攪局者 - 這個屬性文件被拾起,並得到很好的處理,但對於有人在不久的將來進行編輯,它看​​起來醜陋。我想這樣的事情:

SELECT_USER_QUERY = select username, userid 
        from user 
        where userid=? 

我想在我的屬性文件中看到格式。我認爲有一種方法可以在每行結尾處引入一個「\」(如SO中的一些答案)。有沒有其他方法可以在屬性文件中保留格式並仍能成功加載?

+0

你可以使用「\」 - 這是真的。但是您可能想要使用XML。還有一些映射框架(例如ibatis),它允許您外部化SQL – 2012-07-31 14:27:32

+0

您是否想過用於查詢的XML文件? – 2012-07-31 14:31:25

+0

不 - 我想避免使用XML。對於像這樣簡單的任務來說,太複雜了。 – Jay 2012-07-31 14:37:54

回答

0

好的。我認爲一種解決方法(很可能我會)將所有查詢寫入屬性文件,但每個查詢值都跨越多個格式化的行。我將使用自定義的ResourceBundle以自定義的方式加載這些屬性。這樣,我可以確保使用ResourceBundle在屬性文件中進行格式設置,並且還可以編寫明智的加載屬性。

3

只需在行尾添加一個\,不能將其解釋爲換行符。 沒有其他方法來保留屬性文件中的格式(換行符)

+0

好的。錯過鏈接中斷的機率非常高,在查詢被測試之前不會彈出。我想我會需要更好的東西。 – Jay 2012-07-31 14:37:16

2

沒有理由限制自己屬性文件。爲什麼不簡單地將上述內容存儲在文本文件中,並且每個查詢/語句都有(說)一個文本文件?這樣,有人可以編輯文本文件,而不必擔心屬性樣式的格式。

+0

這是我正在考慮的一個選項。但每個查詢一個文本文件將導致太多的文本文件 - 我想避免這種情況。 – Jay 2012-07-31 14:34:49

相關問題