現在、クラス内でいくつかの静的メソッドを使用して、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 dbr = new DatabaseReader();
をdbr.getEmployee(1);
続い)代わりのインスタンスに属するDatabaseReader
クラスに属していることを理解します。
静的メソッドをデータベース接続に使用することは、同じメソッドを使用する複数のユーザーが存在するため、わかりません。
getEmployee()
メソッドを使用するユーザーが2人いる場合、静的メソッド内の変数query
とdbc
は静的であり、両方のユーザーで共有されますか?または、これらの各ユーザーは、それぞれquery
文字列とdbc
DatabaseConnectionの個別のインスタンスを使用していますか?
データベースへの読み書きに静的メソッド(上記のようなもの)を使用することは妥当ですか?
これを見る[回答](http://stackoverflow.com/a/2671636/2310289)特にコメント –
どういう意味ですか?メソッドは人によって呼び出されず、他のメソッドによって呼び出されます。 – immibis
2人の "ユーザー"が非静的な*メソッドを呼び出す場合、それらは同じローカル変数を共有しますか?いいえ、彼らはしません。 – immibis