Conectar ao banco

galera,

toda classe que eu preciso fazer uma consulta, aleraçao, exclusão etc, eu conecto ao banco
mais eu queria que meu programa conectasse apenas na hora que eu executasse

Ex:

[code] public void actionPerformed(ActionEvent e){

    if (e.getSource() == salvar) {
	try {
	  
        String sql = "INSERT INTO Cidade (codcidade, nome) values (?, ?)";         
	    Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
	    Connection con;
	    con = DriverManager.getConnection("jdbc:odbc:Loja", "","");
        PreparedStatement pstmt = con.prepareStatement(sql);         
        pstmt.setInt(1, Integer.parseInt(codcidade.getText().trim()));         
        pstmt.setString(2, nome.getText());             
        pstmt.executeUpdate(); 
	    JOptionPane.showMessageDialog(null, "Cidade Cadastrada com Sucesso"); 
	    con.close(); 
	  
	}
	
	catch (Exception event) {
	  JOptionPane.showMessageDialog(null, "Erro"); 
	}		

}[/code]

como eu fazeria para conectar apenas uma vez?

Na verdade, você sempre precisa buscar a conexão para realizar suas consultas, inserção e etc. Via JDBC eu desconheço uma forma, o que você pode utilizar é um middleware que fica responsavel pelo gerenciamento do pool de conexões, como por exemplo, o JBoss. Ao invés de pegar a conexão via JDBC, você pega a conexão com o banco do proprio middleware.

Mas eu diria o seguinte. Quando eu uso JDBC, eu simplesmente crio uma classe que contém um método responsavél pela conexão com o banco, sendo que esse método, logicamente, retorna a conexão (java.sql.Connection). Mas lembre-se, o ideial após usar o ResultSet, PreparedStatement e Connection é fechar os três itens (método close()). Para tal, após o try - catch use o finally, que obriga a execussão de um determinado bloco de código.

Abraços.