Conexão MySQL

Alguem tem um codigo genérico de conexão mysql que possa me passar? ja com algum exemplo de .execute e de .close! obrigado

Mais ou menos assim:

public class Conexao
{
     // Definir atributo tipo String contendo "com.mysql.jdbc.Driver"
     // Definir atributo tipo String contendo "jdbc:mysql://localhost/nomeDoBanco"
     // Definir atributo tipo String contendo "NomeDoUsuario"
     // Definir atriibuto tipo String contendo "ASenhaDoUsuario"

    public static Connection getConexao()
    {
          // Estabelecer aqui a conexão com base nos atributos 
    }
}

Em outra classe, vc define os métodos bem como de inserção, atualização.
Por exemplo:

ClienteDao.java

public class ClienteDao
{
      private Connection conexao; // Atributo tipo Connection
      private Statement instrucao; // Atributo tipo Statement

      public ClienteDao()
      {
            conexao = Conexao.getConexao();
            instrucao = conexao.createStatement();
      }

      public Cliente buscar( Integer codigo ) throws SQLException
      {
            String sql = "SELECT * FROM nomeTabela WHERE codigo=?";
            PreparedStatement ps = conexao.prepareStatement(sql);
            ps.setInt(1, codigo);
            ps.executeUpdate(); 
            ps.close();
            
      }
      
}

Veja se ajuda
Abraços



          try {

           Class driver = Class.forName("org.gjt.mm.mysql.Driver");
           

    } catch (ClassNotFoundException e) {
          
        e.printStackTrace();
    }
    String url = "jdbc:mysql://localhost:3306/NomeDoBanco";
    String usuarioBD = "root";
    String senhaBD = "admin";
    try {
        DriverManager.getConnection(url, usuarioBD, senhaBD);
   } catch (SQLException e1) {
     
      e1.printStackTrace();
   }



po cara, ao invés de deixar em hardcode, passe tudo isso pra um datasource no context, assim tu já aprende como se faz um DS…

não querendo ser chato mas sendo.

tentou pesquisar?

eu mesmo já postei essa solução aqui no forum

Javaxxxx ,

Mas dessa forma você não fecha a conexão com o banco de dados após executar a instrução SQL?

vc fecha o PreparedStatement, não a conexão.

Quando você diz isso é em relação ao uso de conection pool, não?! Estou falando do exemplo dado acima (uma simples ConnectionFactory)…

Entendeu?

Abraços,
André AS

Eia abaixo um classe que usei, mas recomendo implementar Connection Pool.

[code]package br.com.versionamentodeepub.factory;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import br.com.versionamentodeepub.model.PropertiesLoaderImpl;

public class ConnectionFactory {

/**
 * Gerador de conexões
 */
public static Connection createConnection() {
	Connection con = null;
	String status = null;
	
	String servidorDeBancoDeDadosName = PropertiesLoaderImpl.lePropertiesServidorBancoDeDadosName();
	String servidorDeBancoDeDadosPort = PropertiesLoaderImpl.lePropertiesServidorBancoDeDadosPort();
	String baseDeDados = PropertiesLoaderImpl.lePropertiesVariavelBaseDedados();
	String usuario = PropertiesLoaderImpl.lePropertiesVariavelUsuario();
	String senha = PropertiesLoaderImpl.lePropertiesVariavelSenha();
	
	try {
		Class.forName("com.mysql.jdbc.Driver");
		con = DriverManager.getConnection("jdbc:mysql://"+servidorDeBancoDeDadosName+":"+servidorDeBancoDeDadosPort+"/"+baseDeDados.replace("\"","").replace("'", ""), usuario, senha);										
										
		status = "\nConexão aberta\n";
	} catch (SQLException sqle) {
		status = "Erro abrindo conexão: " + sqle.getMessage();
		System.err.println(status);
	}catch (ClassNotFoundException cnfe) {
		status = "Erro abrindo conexão: " + cnfe.getMessage();
	}catch (Exception e) {
		status = "Erro na fábrica de conexão: " + e.getMessage();
		e.printStackTrace();
	}
	System.out.println(status);
	return con;
}

}

// Ao pegar a conexão repare que fecho tudo após uso (Statement e Connection)

public void inseriDadosDeConversao(String nomeDoFornecedor, String isbn) {
Connection con = ConnectionFactory.createConnection();
PreparedStatement stmt = null;
Savepoint antes = null;
try {
con.setAutoCommit(false);
antes = con.setSavepoint(“boa”);

		String sql = "INSERT INTO retorno_conversao (data, isbnIdigital, empresa)" +
					 " VALUES" +
					 "(date_format(now(), '%d-%m-%Y'),?,?)";
				
		stmt = con.prepareStatement(sql.toString());
		stmt.setLong(1, Long.parseLong(isbn));
		stmt.setString(2, nomeDoFornecedor);
		
		con.commit();
	} catch (SQLException e) {
		System.err.println("Erro de sintaxe do SQL: " + e.getMessage());
		e.printStackTrace();
	}finally{
		try {
			stmt.execute();
			con.rollback(antes);
			stmt.close();
			con.close();
		} catch (SQLException e) {
			System.err.println("Erro: " + e.getMessage());
			e.printStackTrace();
		}
	}
}

[/code]