我目前在一個類中使用許多靜態方法從MySQL數據庫讀取數據。下面的代碼是其中一種方法的一個例子:用於讀取/寫入數據庫的靜態方法
DatabaseReader類:
public class DatabaseReader
{
//Method to get an employee's details.
public static JSONArray getEmployee(String employeeID)
{
String query = "SELECT * FROM employee WHERE employeeID = ?";
DatabaseConnection dbc = new DatabaseConnection(query);
dbc.setString(1, employeeID);
return getResultsFromQuery(dbc);
}
//More static methods here...
//...
//...
}
所以調用這個方法,我用我的代碼中的DatabaseReader.getEmployee(employeeID);
聲明。
基於上述,據我所知,getEmployee()
方法屬於DatabaseReader
類而不是屬於它的一個實例(例如DatabaseReader dbr = new DatabaseReader();
接着dbr.getEmployee(1);
)。
我不確定是否使用靜態方法進行數據庫連接是好的做法,因爲會有多個用戶使用相同的方法。
如果有使用getEmployee()
方法,將在靜態方法中的query
和dbc
變量是靜態的,以及兩個用戶,並且因此在兩個這些用戶的共享?或者,這些用戶中的每一個都將使用它們自己的query
字符串和dbc
DatabaseConnection的單獨實例?
使用靜態方法(例如上面的方法)讀取/寫入數據庫是否合理?
看到此[回覆](http://stackoverflow.com/a/2671636/2310289)特別是意見 –
你是什麼意思用戶?方法不被人調用,他們被其他方法調用。 – immibis
如果兩個「用戶」調用*非靜態*方法,它們是否共享相同的局部變量?不,他們不。 – immibis