Criando um programa de cadastro em Java com banco de dados MySql

Bom vamos criar um programa simples de cadastro em Java utilizando um banco de dados MySql, antes de começarmos a programar nosso software precisamos fazer o download do conector MYSQL pois ele vai fazer toda a conexão com o banco de dados.

Abaixo está o link para você fazer o download pelo próprio site do MYSQL

http://www.mysql.com/downloads/connector/j/

vem um arquivo zipado com o jar que vamos usar dentro, se você quiser baixar o jar, coloquei ele para download, clique no link abaixo e baixe apenas o jar.

elzobrito.com/arquivos/blog/postjava/mysql-connector-java-5.0.8-bin.jar

Depois de fazer o download você precisa extrair o arquivo

clip_image002[4]

Caso tenha baixado o zip diretamente do site do MYSQL, depois de extrair o arquivo cole na pasta:

C:\Program Files\Java\jdk1.6.0_16\jre\lib\ext

Bem agora vamos criar nosso banco de dados, vamos criar uma tabela simples com:

Código, nome, data de nascimento, telefone, email.

Então o código SQL fica assim:

CREATE TABLE `elzobrito1`.`cadastro` (
`cod` INT( 255 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`nome` VARCHAR( 255 ) NOT NULL ,
`dt_nasc` VARCHAR( 255 ) NOT NULL ,
`telefone` VARCHAR( 255 ) NOT NULL ,
`email` VARCHAR( 255 ) NOT NULL
) ENGINE = MYISAM

Pronto agora podemos nos preocupar com as classes Java : )

Vamos criar uma classe Amigo, com os mesmos campos que colocamos no banco de dados.

cod

public class Amigo {
    private int cod;
    private String nome;
    private String dt_nasc;
    private String telefone;
    private String email;

    public int getCod() {
        return cod;
    }

    public void setCod(int cod) {
        this.cod = cod;
    }

    public String getDt_nasc() {
        return dt_nasc;
    }

    public void setDt_nasc(String dt_nasc) {
        this.dt_nasc = dt_nasc;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getTelefone() {
        return telefone;
    }

    public void setTelefone(String telefone) {
        this.telefone = telefone;
    }

}

Pronto a classe Amigo está criada, precisamos criar uma classe para conversar com nosso banco de dados. A classe que vamos criar agora faz busca e inserção no banco de dados.

import java.util.*;
import java.sql.*;
import java.util.ArrayList;

public class ConectaBanco {

    private String url;
    private String login;
    private String senha;

    public ConectaBanco(String url, String login, String senha) {
        setUrl(url);
        setLogin(login);
        setSenha(senha);
    }

    public String getLogin() {
        return login;
    }

    public void setLogin(String login) {
        this.login = login;
    }

    public String getSenha() {
        return senha;
    }

    public void setSenha(String senha) {
        this.senha = senha;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public void insere(String s, String msg) {
        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            //System.out.println("\n Salvando URL: ...\n");
            try {
                Connection conn = DriverManager.getConnection(getUrl(),
getLogin(), getSenha());
                try {
                    String sql = s;
                    Statement stm = conn.createStatement();
                    try {
                        stm.executeUpdate(sql);
                        System.out.println(msg);
                    } catch (Exception ex) {
                        System.out.println("\nErro no resultset!\n" + ex);
                    }
                } catch (Exception ex) {
                    System.out.println("\nErro no statement!");
                }
            } catch (Exception ex) {
                System.out.println("\nErro no connection!");
            }
        } catch (Exception ex) {
            System.out.println("\nDriver nao pode ser carregado!");
        }

    }

    public ArrayList busca(String s) {
        ArrayList amigo = new ArrayList();
        Amigo a = new Amigo();
        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            //System.out.println("\n Salvando URL: ...\n");
            try {
                Connection conn = DriverManager.getConnection(getUrl(),
getLogin(), getSenha());
                try {
                    String sql = s;
                    Statement stm = conn.createStatement();
                    try {
                        ResultSet rs = stm.executeQuery(sql);
                        while (rs.next()) {
                            a.setCod(rs.getInt(1));
                            a.setNome(rs.getString(2));
                            a.setDt_nasc(rs.getString(3));
                            a.setTelefone(rs.getString(4));
                            a.setEmail(rs.getString(5));
                            amigo.add(a);
                        }
                        //System.out.println(rs.getInt(1));
                    } catch (Exception ex) {
                        System.out.println(ex);
                    }
                } catch (Exception ex) {
                    System.out.println("\nErro no statement!");
                }
            } catch (Exception ex) {
                System.out.println("\nErro no connection! " + ex);
            }
        } catch (Exception ex) {
            System.out.println("\nDriver nao pode ser carregado!");
        }
        return amigo;
    }
}

Agora vamos fazer o MAIN…

No MAIN vamos fazer um coisa bem simples apenas cadastrar e buscar um amigo no banco de dados.

import java.util.ArrayList;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        // TODO code application loSgic here
        Scanner ler  = new Scanner(System.in);
        ConectaBanco cb = new ConectaBanco("jdbc:mysql://URL",
 "LOGIN", "SENHA");

        int x=-1;
        while (x != 0) {
            System.out.println("Escolha uma opcao");
            System.out.println("1 - Cadastrar amigo");
            System.out.println("2 - Buscar Amigo");
            System.out.println("3 - Sair");
            x = Integer.parseInt(ler.nextLine());

            switch (x) {
                case 1: {
                    Amigo amigo = new Amigo();

                    System.out.println("Digite um nome:");
                    amigo.setNome(ler.nextLine());
                    System.out.println("Digite a data de nascimento:");
                    amigo.setDt_nasc(ler.nextLine());
                    System.out.println("Digite o Telefone:");
                    amigo.setTelefone(ler.nextLine());
                    System.out.println("Digite o E-mail:");
                    amigo.setEmail(ler.nextLine());

                    cb.insere("INSERT INTO
nome_do_banco_de_dados.nome_da_tabela VALUES
(NULL , '" + amigo.getNome() + "', '" + amigo.getDt_nasc() +
 "', '" + amigo.getTelefone() + "', '" + amigo.getEmail() + "');
", "Amigo gravado corretamente...");
                    break;
                }
                case 2: {
                    ArrayList a = new ArrayList();
                    System.out.println("Digite o nome do seu amigo
para procura:");
                    String nome = ler.nextLine();
                    a =  cb.busca("SELECT * FROM
nome_do_banco_de_dados.nome_da_tabelao WHERE nome
LIKE '%" + nome + "%';");
                    if (a.size()>0){
                        a.get(0).show(a);
                    }
                    else{
                        System.out.println("nao achamdos seu amigo :(  ");
                    }

                    break;
                }
                case 3: {
                    x=0;
                }
            }

        }
    }

}

Pronto nosso programa já esta funcionando

heheheh

Escrito por Elzo on julho 16, 2010. Arquivado em Programação. Você pode seguir as respostas a esse artigo pelo RSS 2.0. Você pode deixar respostas para esse artigo

9 respostas a Criando um programa de cadastro em Java com banco de dados MySql

  1. O amigo gostei do seu trabalho mas sou leigo nisso e não sei como salvar… tem como você me explicar, e também aonde devo edita-lo… Desculpa por ser inoportuno mas ajuda aí por favor flw….

  2. Muito bom ai o tutorial, bem simples e direto, tudo que um iniciante precisa!!!

    Parabéns!!!

  3. Sou novo em base de dados e o seu tutorial está a ajudar imenso!

    Existe um pequeno promenor que me dá erro e eu não sei bem porque, é a linha onde tem

    a.get(0).show(a);

    o metodo show() não é reconhecido, esse show é para nós proprios criamos?

    Uma outra coisa estraha é o programa em sql nao reconhece o AUTO_INCREMENT, ainda nem sei bem o que fazer relativamente a isto…

  4. Olá Elzo. Você poderia esclarecer melhor, sobre o
    “Depois de fazer o download você precisa extrair o arquivo”

    Caso tenha baixado o zip diretamente do site do MYSQL, depois de extrair o arquivo cole na pasta:

    Mas dentro do Arquivo ZIPADO existem dezenas de arquivos. devemos descarregar todos aqui: “C:\Program Files\Java\jdk1.6.0_16\jre\lib\ext” ?????
    E também qual programa se edita o CONTEÚDO de exemplo que vc passa? e como executar o EXEMPLO?

  5. obrigado estava precisando de uma ajuda asim.
    ma queria falar mais contigo di um outra maneira.

  6. Elzo,

    o código está dando o seguinte erro na classe Main:

    The method show(ArrayList) is undefined for the type Object

  7. Muito bom! Sensasional!
    Unico site que realmente me ajudou!!!

    Parabens!

  8. Cara tentei compilar e rodar esse programa Amigo mais aparece muitos erros!!!O que faço???

  9. Tentei novamente ai apareceu esse erro acho que sou eu que não tô conseguindo fazer certo!?
    Exception in thread “main” java.lang.NoSuchMethodError: main

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>