我有一个使用JSP Model 2架构的Web应用程序。
我也使用DAO模式;特别是,不同的方法需要productID
之类的值,我希望这些值是唯一的。
/**
* Updates the productID that is unique per JVM run.
* @return the updated value of <i>productID</i>
* @throws ClassNotFoundException if an error occurs with the connection to the database
*/
public static synchronized int createProductID() throws ClassNotFoundException{
int maxID = QueriesDAO.maxIDInDatabase("product");
while(productID <= maxID) {
productID++;
}
return productID++;
}
该方法查询数据库并返回一个新ID,该ID存储在private static int productID = 0;
中(0是指定的第一个值)。
我想问的是:我应该在哪里放置该查询和该变量?
目前,我有一个名为DAO
的软件包,其中包含所有查询,例如UserDAO.java
上的用户查询或ProductDAO.java
上的产品查询等。 createProductID()
方法和链接的变量存储在Main类中,但在我看来这不是正确的地方。我怎样才能改变模式?
使用界面可以解决方案吗?但是通过接口,我不能拥有可以托管productID
变量的私有字段..