[RESOLVIDO]classe com conexão com o MYSQL

12 respostas
diegomh

Ae galera, estou começando agora e fiquei empolgado…
Criei esta minha primeira classe com conexao com o banco de dados mysql e estou disponibilizando para vocês… espero que gostem

/**
 *
 * @Criado por Diego Miguel (diegomh)
*/

import com.mysql.jdbc.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

public class MysqlConn {
    private Connection conn;
    private String host = "localhost";
    private String user = "root";
    private String pass = "admim";
    private String banco = "gui";
    private String url = "jdbc:mysql://" + this.host + "/" + this.banco;

    public Connection conectar() throws SQLException {
        try {
            Class.forName("com.mysql.jdbc.Driver"); //carerega o driver mysql
            conn = DriverManager.getConnection(this.url, this.user, this.pass);//conecta ao banco
            System.out.println("Conectado com sucesso!");
        } catch (ClassNotFoundException e) {//exessão se no caso o driver não existir
            System.out.println(e);
        }
        return conn;
    }

    public ResultSet executarSql(String sql, Connection conexao) throws SQLException {
        ResultSet result = null;
        try {
            Statement stmt = (Statement) conexao.createStatement();//Cria um statement para podermos mandar um SQL para o banco
            result = stmt.executeQuery(sql);//Mandamos o SQL para o banco e obtemos um ResultSet(Resultado)
        } catch (SQLException ex) {//verificamos se existe uma exessão no comando sql e então exibimos ela
            System.out.println(ex);
        }
        return result;
    }
}

//para utilizar ela use assim ================================================

public static void main(String args[]) {
    try {
        Connection conexao = (Connection) new MysqlConn().conectar();
        ResultSet resultado = new MysqlConn().executarSql("SELECT * FROM tblGui WHERE id_gui = 1", conexao);

        while (resultado.next()) {//percorre os campos
            System.out.println(resultado.getString("nome"));
            System.out.println("====================================");
        }
    } catch (SQLException ex) {
        System.out.println(ex);
    }

}

12 Respostas

UMC

:thumbup:

Se quiser com Banco de Dados PostgreSQL.
Aqui

vlw
abs

B

Interessante e útil, valeu.
Legal para primeira ^^

Tiburcio_Mancha

legal, agora de uma olhada na apostila da Caelum FJ-21, la vc encontra melhores práticas de programação, na qual podem deixar este código muito mais limpo. Outra coisa, enteda bem JDBC e parta para Hibernate e JPA.

diegomh

O que é esse hibernate???
Qual a dica que você daria para eu estar melhorando meu código, você poderia postar…
Eu estou começando agora e estou perdido ainda… Valew manooo.

Tiburcio_Mancha

vamos la:

hibernate é um framework que realiza o mapeamento dos objetos para as tabelas do banco de dados relacionais. muito utilizado no mercado e bem complexo, antes de vc estudar ele tenha uma boa noção de JDBC, que é o q vc está fazendo agora.

Entra no site da caelum e baixa as apostilas FJ-11 e FJ-21, vai te ajudar pra caramba.

Lá tem algumas boas práticas de programação, vc vai ver como fazer este código que vc postou de uma maneira mais simples, com boa performance e sem sujeira.

la tem introdução ao hibernate e um conteúdo razoável de JDBC.

UMC

Tiburcio_Mancha:
vamos la:

hibernate é um framework que realiza o mapeamento dos objetos para as tabelas do banco de dados relacionais. muito utilizado no mercado e bem complexo, antes de vc estudar ele tenha uma boa noção de JDBC, que é o q vc está fazendo agora.

Entra no site da caelum e baixa as apostilas FJ-11 e FJ-21, vai te ajudar pra caramba.

Lá tem algumas boas práticas de programação, vc vai ver como fazer este código que vc postou de uma maneira mais simples, com boa performance e sem sujeira.

la tem introdução ao hibernate e um conteúdo razoável de JDBC.


Recomendo também!
Hibernate vale a pena!

vlw

pedroroxd

Não recomendo hibernate para você ainda não…
Como você mesmo disse, está começando agora…

Continue assim, empolgue com o que fez, mas tenha em mente que tem muito a fazer!
Agora que você conseguiu fazer a conexão e select, faça de inserção, depois de update (tudo em console)
Depois, comece a colocar os dados em 1 tabela NÃO USE DEFAULT TABLE MODEL, VEJA O LINK EM MINHA ASSINATURA)…
Vá evoluindo pouco a pouco… O Hibernate realmente é um framework muito poderoso e usado no mercado de trabalho, mas “não coloque o carro na frente dos bois”, ou terá muitas dificuldades (você vai conseguir fazer, tenho certeza, mas não recomendo ainda).

Baixe as apostilas do Caelum (recomendo a FJ-11) que tem coisas bem legais de conexão com Banco de Dados e tal.
Bons estudos =)

diegomh

Obrigado a todos pela força, vocês estão me ajudando e muito…
E quanto a apostila, eu tenho ela aqui e tenho o Livro da Deitel “Java como programar 6º edição” mas acho muito complicado o livro eu prefiro a apostila…
Qual outras mais vocês recomendam, além destes dois materiairs???

pedroroxd

diegomh:
Obrigado a todos pela força, vocês estão me ajudando e muito…
E quanto a apostila, eu tenho ela aqui e tenho o Livro da Deitel “Java como programar 6º edição” mas acho muito complicado o livro eu prefiro a apostila…
Qual outras mais vocês recomendam, além destes dois materiairs???

Apostila do Caelum e o Livro Java, Use a Cabeça
Não comece por Deitel não…

rafaelr5

Ola pessoal estou precisando de uma ajuda ai …
fiz um software para um “comécio”(trabalho da facu), so q qndo eu vou executar ele da :
“Erro na carga da classe. Erro: org.gjt.mm.mysql.Driver”

aa ja instalei o conector Mysql no meu netbeans
me ajudem ai se puder vlw
ai vai a minha classe conexão por favor me ajudem.

package Controle_sft;

/*  ao importar o pacote java.sql você tem acesso às classes e interfaces para

manipular os bancos de dados relacionais em Java <em>/

import java.sql.</em>;

import javax.swing.*; // importando o pacote de classes gráficas

import Cadastro.CadClientes;

import Cadastro.CadConta;

import Cadastro.CadProd;

import Cadastro.CodForn;

import Cadastro.Empresa;

import Cadastro.Menu;

import Consulta.ConCliente;

import Consulta.ConContas;

import Consulta.ConForn;

import Consulta.ConProd;

public class ConexãoMySql {

static String Driver = "org.gjt.mm.mysql.Driver";
static String host = "localhost:3306"; // local onde ele vai conectar, onde está o bd - servidor
static String database = "loja"; // base de dados
static String usuario = "root";
static String senha = "rafa200891";
static String url = "jdbc:mysql://" + host +"//" + database;
public Connection con; // declaração do objeto Connection que possibilita o acesso ao banco de dados
public Statement stmt; // é utilizado para enviar comandos SQL simples
public ResultSet rs; // A classe ResultSet oferece à aplicação a tabela resultante de um Select

public void conectar() {

    try {
        /* método forName da classe Class(pacote java.lang) serve para carregar a definição
        de classe para o driver de banco de dados */
        Class.forName(Driver);

        /* objeto Connection gerencia a conexão entre o programa Java e o banco de dados.
        Ele tambéme fornece suporte ao programa para executar instruções SQL.
        Através do método getConnection, a classe DriverManager tenta uma conexão com o
        banco de dados especificado pela string : jdbc:mysql://localhost/minicurso */

        con = DriverManager.getConnection(url, usuario, senha);
        JOptionPane.showMessageDialog(null, "Conetado com sucesso ao Banco de Dados :D");
        // O envio de um comando SQL é feito por meio de um Statement
        //// o objeto con chama o  método creteStatement() da classe DriverManager
        stmt = con.createStatement();

    } catch (ClassNotFoundException e) {
        // se a classe não for localizada, ele dispara uma exceção
        JOptionPane.showMessageDialog(null, "Erro na carga da classe. Erro: " + e.getMessage(), "Cadastro de Clientes ", JOptionPane.ERROR_MESSAGE);
        System.out.println("Erro na carga da classe. Erro: " + e.getMessage());
        } catch (SQLException e) {
        // caso a classe DriverManager não conseguir se conectar ao BD, o método getConnection dispara uma exceção
        JOptionPane.showMessageDialog(null, "Erro na conexao. Erro: " + e.getMessage(), "Cadastro de Clientes ", JOptionPane.ERROR_MESSAGE);
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, "Erro: " + e.getMessage(), "Cadastro de Clientes ", JOptionPane.ERROR_MESSAGE);
    }

}

}

diegomh

pedroroxd:
diegomh:
Obrigado a todos pela força, vocês estão me ajudando e muito…
E quanto a apostila, eu tenho ela aqui e tenho o Livro da Deitel “Java como programar 6º edição” mas acho muito complicado o livro eu prefiro a apostila…
Qual outras mais vocês recomendam, além destes dois materiairs???

Apostila do Caelum e o Livro Java, Use a Cabeça
Não comece por Deitel não…

Eu tentei acompanhar o livro do Deitel e não dei muito bem não, vou ver se baixo o livro “Use a Cabeça! Java” ae eu posto o link aqui para quem quiser…

diegomh

diegomh:
pedroroxd:
diegomh:
Obrigado a todos pela força, vocês estão me ajudando e muito…
E quanto a apostila, eu tenho ela aqui e tenho o Livro da Deitel “Java como programar 6º edição” mas acho muito complicado o livro eu prefiro a apostila…
Qual outras mais vocês recomendam, além destes dois materiairs???

Apostila do Caelum e o Livro Java, Use a Cabeça
Não comece por Deitel não…

Eu tentei acompanhar o livro do Deitel e não dei muito bem não, vou ver se baixo o livro “Use a Cabeça! Java” ae eu posto o link aqui para quem quiser…

Consegui os links…
http://rapidshare.com/files/198644005/Use_a_Cabeca__Java_da_2a_Edicao_-PT-BR__downsfull.net.by.AnOn.part1.rar
http://rapidshare.com/files/198664116/Use_a_Cabeca__Java_da_2a_Edicao_-PT-BR__downsfull.net.by.AnOn.part2.rar
http://rapidshare.com/files/198675718/Use_a_Cabeca__Java_da_2a_Edicao_-PT-BR__downsfull.net.by.AnOn.part3.rar

Criado 24 de abril de 2010
Ultima resposta 26 de abr. de 2010
Respostas 12
Participantes 6