Bom dia galera estou começando a programar em java desktop, estou desenvolvendo um sistema de controle de cheques, estou usando o netbeans e o mysql, e tenho um problema para fechar a conexão com o mysql, toda vez que eu tenho que usar o banco de dados abre uma nova conexão e não consigo fechar, alguém pode me auxiliar, segue abaixo o código que estou usando.
tenho uma classe de conexão
package Classes;
import java.sql.Connection;
import java.sql.DriverManager;
public class ConectaBanco {
public static Connection getConexao() {
Connection conexao = null;
try {
//driver que será utilizado
Class.forName("com.mysql.jdbc.Driver");
//cria um objeto de conexao com um banco especificado no caminho...
conexao = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/controledecheques", "root", "1234");
} catch (Exception erro) {
System.out.println(erro);
}
return conexao;
}
uma classe chamada banco para efetuar o cadastro e consulta de bancos.
package Classes;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JOptionPane;
public class Banco {
private int nBanco;
private String nome;
public int getnBanco() {
return nBanco;
}
public void setnBanco(int nBanco) {
this.nBanco = nBanco;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public void salvarBanco(){
Connection conexao = ConectaBanco.getConexao();
try { Statement stmt = conexao.createStatement();
String sql = "insert into banco (numero, nome) values " + "('"+nBanco+"', '"+nome+"')";
stmt.execute(sql);
JOptionPane.showMessageDialog(null, "Cadastro realizado com sucesso !");
}catch (Exception erro){
System.out.println("Erro ao cadastrar Cliente: "+erro);
}
}
}
e o jframe, vou colocar somente a operação do botão salvar para não ficar muito extenso
private void jB_salvarActionPerformed(java.awt.event.ActionEven t evt) {
String nome = jTBanco.getText();
int numero = Integer.parseInt(jFnumero.getText());
Banco ba = new Banco();
ba.setNome(nome);
ba.setnBanco(numero);
ba.salvarBanco();
jTBanco.setText(" ");
jFnumero.setText(" ");
}
tenho uma classe de conexão
package Classes;
import java.sql.Connection;
import java.sql.DriverManager;
public class ConectaBanco {
public static Connection getConexao() {
Connection conexao = null;
try {
//driver que será utilizado
Class.forName("com.mysql.jdbc.Driver");
//cria um objeto de conexao com um banco especificado no caminho...
conexao = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/controledecheques", "root", "1234");
} catch (Exception erro) {
System.out.println(erro);
}
return conexao;
}
uma classe chamada banco para efetuar o cadastro e consulta de bancos.
package Classes;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JOptionPane;
public class Banco {
private int nBanco;
private String nome;
public int getnBanco() {
return nBanco;
}
public void setnBanco(int nBanco) {
this.nBanco = nBanco;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public void salvarBanco(){
Connection conexao = ConectaBanco.getConexao();
try { Statement stmt = conexao.createStatement();
String sql = "insert into banco (numero, nome) values " + "('"+nBanco+"', '"+nome+"')";
stmt.execute(sql);
JOptionPane.showMessageDialog(null, "Cadastro realizado com sucesso !");
}catch (Exception erro){
System.out.println("Erro ao cadastrar Cliente: "+erro);
}
}
}
e o jframe, vou colocar somente a operação do botão salvar para não ficar muito extenso
private void jB_salvarActionPerformed(java.awt.event.ActionEven t evt) {
String nome = jTBanco.getText();
int numero = Integer.parseInt(jFnumero.getText());
Banco ba = new Banco();
ba.setNome(nome);
ba.setnBanco(numero);
ba.salvarBanco();
jTBanco.setText(" ");
jFnumero.setText(" ");
}