我的单例中有下一个方法来执行 JDBC 连接
public void openDB() throws ClassNotFoundException, IllegalAccessException,
InstantiationException, SQLException {
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url = "jdbc:mysql://localhost/mbpe_peru";//mydb
conn = DriverManager.getConnection(url, "root", "admin");
st = conn.createStatement();
}
public void sendQuery(String query) throws SQLException {
st.executeUpdate(query);
}
public void closeDB() throws SQLException {
st.close();
conn.close();
}
我遇到了一个问题,我必须调用两次。
private void jButton1ActionPerformed(ActionEvent evt) {
Main.getInstance().openDB();
Main.getInstance().sendQuery("call insertEntry('"+EntryID()+"','"+SupplierID()+"');");
Main.getInstance().closeDB();
Main.getInstance().openDB();
for(int i=0;i<dataBox.length;i++){
Main.getInstance().sendQuery("call insertCount('"+EntryID()+"','"+SupplierID()+"','"+BoxID()+"');
Main.getInstance().closeDB();
}
}
我已经尝试保持连接打开并发送 2 个查询,然后关闭它并没有工作......它工作的唯一方法是不使用方法,声明连接的命令并使用不同的变量进行连接和声明。我认为如果我关闭连接和语句,我可以再次使用该变量,因为它是一种方法,但我不能。有没有办法使用我的 JDBC 连接方法来解决这个问题?