這不是接口的意圖。您可能應該閱讀接口以瞭解有關如何使用它們的更多信息。
如果您有需要使用SQL查詢,我會創建一個幫助器類,並具有一些不會更改的屬性,例如QUERY1,然後是QUERY2的某些方法,其中該方法使用用於構建查詢的參數以及把它返還。
我還建議你給查詢描述性名稱。沒有人會知道QUERY1與QUERY2是什麼。像TopTenBugs
,MostPurchasedProduct
等名稱將更容易識別。
一些示例代碼
public static class Queries
{
public static String TopProduct = "SELECT TOP 1 ProductId FROM Products";
public static PreparedStatement getTopNOfField(Connection connection, int number, String fieldName)
{
PreparedStatement statement = connection.prepareStatement("SELECT TOP ? ? FROM Products");
statement.setInt(1, number);
statement.setString(2, fieldName);
return statement;
}
}
我不是一個SQL專家,但應該給你什麼,我談論的感覺。我與PreparedStatement
一起去,因爲這是避免SQL注入的最佳做法。還有很多庫被創建來幫助構建您可以使用的SQL查詢。
爲了保持一致性,您可能需要將其更改爲所有內容均爲PreparedStatement
的地方。因此,請將靜態String
更改爲不帶參數的方法。這樣,無論您使用哪種查詢,您的用戶體驗都是一樣的。
您也可以更改此幫助程序類以處理所有SQL業務...連接,查詢等,並返回結果而不是PreparedStatement
s。隨你便。
我想你誤解了接口是什麼。我相信你想要的是一個類或靜態類。 – Buaban