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

4 comentários em “Criando um programa de cadastro em Java com banco de dados MySql”

  1. Amigo no momento da busca o netbeans esta dando como incompativel:

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

    Uso o NetBeans 6.8 com Win7 não da erro mas tb nao mostra o resultado…podes me dar um retorno?

    Vlw

    Responder
      • Amigo…quando eu deixo o .Show(a) e compilo mostra a seguinte mensagem
        Exception in thread “main” java.lang.RuntimeException: Uncompilable source code
        at Principal.main
        Quando digito um nome q nao existe no banco da a msg q nao foi encontrado….porem se digito um q exite da o erro acima…
        tens outro artigo mostrando sobre cadastro com pesquisa simples no java?
        Parabens pelo artigo

        Responder

Deixe um comentário