Gerar Jar com banco de dados

11 respostas
M

Pessoal terminei meu projeto agora eu quero gerar um executavel junto com o banco de dados no Netbeans, eu coloquei Limpar e Construir, mas na hora que coloco em outro computador não funciona por causa do banco, e também aparece todas as classes e form que fiz, como faço e se tem como, gerar o executavel junto com o banco de dados tudo junto para na hora que eu colocar em outra maquina eu conseguir rodar normalmente, como qualquer outro programa quando por exemplo baixo do baixaki, eu tenho que instalar e depois de instalado funcionar normalmente, cadastrando e navegando pelo programa.

???

11 Respostas

C

Pesquise por H2 DB…nunca usei , mas parece ser bem simples de usar.

M

Eu uso MYSQL, eu gostaria de saber se tem como gerar o executavel do programa como qualquer outro programa, tendo uma instalação normal e na hora de utilizar estar normal, ou seja, o banco de dados instalar junto como meu programa

M

tudo normal, igualzinho qualquer outro programa de cadastro

J

Olá MarcoJava, como você quer será necessário utilizar um programa de instalar ou até mesmo Winrar para fazer esse procedimento que deseja, com o instalador criado e adicionado ao mesmo é claro, o arquivo de instalação do MySQL e o seu .jar, lembrando que será necessário criar uma cópia da base de dados da aplicação para poder importar para o mysql, isso pode ser uma opção, porém não a mais recomendada. Procure dar uma lida no H2DB, pois ele é levantado junto ao .jar e não precisa desse trabalho todo.

Até mais.

M

sim já estou olhando e baixando um material de estudo, mas em breve com certeza havera duvida, mas muito obrigado pessoal

M

Pessoal como estou querendo migrar de MYSQL para H2DB, eu gostaria de saber se:

H2DB é o mesmo que HSQLDB?

senão for qual é melhor, e se fazem a mesma coisa em relação a executar o programa em outro pc sem precisar instalat que nem o MYSQL

I

Vê se te ajuda:

http://www.guj.com.br/java/262896-resolvido-como-criar-um-instalador-a-partir-de-um-arquivo-jar-no-netbeans

M

Então Henrique pelo que eu entendi, eu tenho que criar um arquivo em java, e quando eu for rodar o aplicativo que criei ele vai funcionar normal, é isto?

Então não preciso mudar de banco?

M

Henrique gerei o script SQL, li seu aquele tópico que você me passou agora quero vê se eu entendi bom

Tenho minha classe conexão:

public class ConectaBanco {
    
     public static Connection getConnection() throws SQLException{            
        try {
            Class.forName("com.mysql.jdbc.Driver");  
            return DriverManager.getConnection("jdbc:mysql://localhost:3306/pdv","root","root");   
        } catch (ClassNotFoundException e) {
            JOptionPane.showMessageDialog(null, e.getMessage());            
            throw new SQLException();            
        }        
    
     
     }     
}

e tenho minha classeDao por exemplo insert:

public void insert(Cliente p) {

        try {
            PreparedStatement stm = this.con.prepareStatement("insert into cliente(nome,endereco,bairro,cidade,rg,cpf,telefone,celular,email,nascimento,estado)values(?,?,?,?,?,?,?,?,?,?,?)");
            //stm.setInt(1, p.getCodigo());
            stm.setString(1, p.getNome());
            stm.setString(2, p.getEndereço());
            stm.setString(3, p.getBairro());
            stm.setString(4, p.getCidade());
            stm.setString(5, p.getRg());
            stm.setString(6, p.getCpf());
            stm.setString(7, p.getTelefone());
            stm.setString(8, p.getCelular());
            stm.setString(9, p.getEmail());
            stm.setString(10, p.getDatanasc());
            stm.setString(11, p.getEstado());
            stm.executeUpdate();
            stm.close();
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, ex.getLocalizedMessage(), "Update Error", JOptionPane.ERROR_MESSAGE);
        }

    }

Aonde eu tenho que colocar aquele criação de arquivo na minha classe Conexão ou ClasseDao, e por favor como eu faço isto?

I

MarcoJava:
Então Henrique pelo que eu entendi, eu tenho que criar um arquivo em java, e quando eu for rodar o aplicativo que criei ele vai funcionar normal, é isto?

Então não preciso mudar de banco?

Sim. Criando uma classe em Java para ler seu script SQL.

Bom, você não precisa mudar seu SGBD, mas o usuário terá que te-lo instalado no seu computador, e isto sua aplicação não pode fazer (instalar o SGDB)

I

MarcoJava:
Henrique gerei o script SQL, li seu aquele tópico que você me passou agora quero vê se eu entendi bom

Tenho minha classe conexão:

public class ConectaBanco {
    
     public static Connection getConnection() throws SQLException{            
        try {
            Class.forName("com.mysql.jdbc.Driver");  
            return DriverManager.getConnection("jdbc:mysql://localhost:3306/pdv","root","root");   
        } catch (ClassNotFoundException e) {
            JOptionPane.showMessageDialog(null, e.getMessage());            
            throw new SQLException();            
        }        
    
     
     }     
}

Aonde eu tenho que colocar aquele criação de arquivo na minha classe Conexão ou ClasseDao, e por favor como eu faço isto?

Sua classe conexão tentará conectar-se ao BD, caso ela não consiga irá para a cláusula catch, ai você saberá que não há BD, então você usa (seguindo o exemplo que eu passei no outro tópico) a classe para criar BD, está é a maneira mais simples, porém, será melhor ainda se você verificar se seu sistema está executando pela primeira vez no pc do cliente (guarde está informação em um arquivo de propriedade, por exemplo), caso seja a primeira vez você executa a classe criar BD.

flw :thumbup: Boa sorte.

Criado 27 de março de 2012
Ultima resposta 29 de mar. de 2012
Respostas 11
Participantes 4