Java 读取/写入数据库的静态方法
我目前在一个类中使用许多静态方法从MySQL数据库中读取数据。以下代码是这些方法之一的示例: 数据库阅读器类:Java 读取/写入数据库的静态方法,java,database-connection,static-methods,Java,Database Connection,Static Methods,我目前在一个类中使用许多静态方法从MySQL数据库中读取数据。以下代码是这些方法之一的示例: 数据库阅读器类: public class DatabaseReader { //Method to get an employee's details. public static JSONArray getEmployee(String employeeID) { String query = "SELECT * FROM employee WHERE emp
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=newdatabasereader();
后跟dbr.getEmployee(1);
)
不过,我不确定使用静态方法进行数据库连接是否是一种好的做法,因为将有多个用户使用相同的方法
如果有两个用户使用getEmployee()
方法,那么静态方法中的query
和dbc
变量是否也是静态的,从而在这两个用户之间共享?或者这些用户中的每一个都会使用他们自己的查询
字符串和dbc
数据库连接实例吗
使用静态方法(如上面的方法)读取/写入数据库是否合理?“不,它不是静态变量。它是局部变量。方法中声明的任何变量都是局部变量。”-来源:
我认为您可以对数据库连接使用静态方法。事实上,我可能会鼓励这样做。看到这一点,尤其是评论,你说的用户是什么意思?方法不是由人调用的,而是由其他方法调用的。如果两个“用户”调用一个非静态方法,它们是否共享相同的局部变量?不,他们没有。