我目前在一个类中使用许多静态方法从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