public class Database {
private String ric;
private String volume;
private String _url;
private String _userId;
private String _password;
private String _dbLib;
private String _dbFile;
private Connection _conn;
private PreparedStatement _statement;
public Database(LSE item) {
ric = item.get_ric();
volume = item.get_volume();
}
public void writeToDb() throws SQLException{
//setString
}
}
我有一个ItemDispatcher类:在ItemDispatcher
运行反复创建数据库连接一次只
public class ItemDispatcher implements Runnable {
private LSE lse;
public ItemDispatcher(LSE lseItem) {
this.lse= lseItem;
}
@Override
public void run() {
try {
new Database(lse).writeToFile();
} catch (IOException e) {
e.printStackTrace();
}
}
}
run()
方法。我想在Database
类中创建数据库连接和prepareStatement
,但是在Database类构造函数上这样做会多次创建连接。我怎样才能改变我的设计来创建连接只有一次,而不是在run()
的每次执行中都不会重复。我试图在其他任何课程中都不这样做,只是数据库类
您的方法假定只有一个ItemDispatcher实例。 –
@codenoire,他仍然可以通过ItemDispatcher,我没有假设只是ItemDispatcher的一个实例,而是一个连接的实例。 – Leo
当分派器的两个实例共享单个数据库连接时,您可能不会构建可伸缩的应用程序。他们中的第二个需要做一些事情,就是搞砸了。单身人士是整个应用程序。这实际上比OP要求的更多 - 他/她要求在***实例***范围内的运行方法使用一个数据库连接。 –