Usar BD MySQL junto de aplicação em .JAR

3 respostas
G

Galera, fiz uma aplicação que usa o Hibernate e está em um jar, no meu PC funciona beleza, quero saber qual a melhor maneira de fazer o BD rodar no cliente.

Alguém pode me dizer qual a melhor aplicação pra rodar o banco?
Também gostaria de uma dica de como poder fazer um backup do banco a partir da aplicação usando alguns comandos e consultas e também como testar se a database já existe.

Obrigado a todos!

3 Respostas

Andre_Brito

Isso depende bastante. Você usa algum tipo de servidor? A aplicação é web? É cliente-servidor?

Eu nunca vi e nunca fiz sem algum tipo de servidor (seja ele web ou de aplicação). De qualquer forma, nas aplicações que construí, geralmente o jar do hibermate, do mysql e os outros ficam no servidor. Então vai pro cliente somente os mais necessários (aqueles que você precisa pra consumir os serviços do servidor e algumas *utils). No caso de desktop e você quer centralizar o banco (ou seja, vários clientes gravando no mesmo banco), teria que bolar uma maneira de desviar o servidor… Se for uma app stand-alone (só na máquina, independente de rede), é só colocar todo mundo junto e tentar usar.

Eu pelo menos não vejo nenhuma forma de fazer isso sem ter alguém do outro lado pra receber as requests. A não ser que você configure no seu persistence.xml o ip do banco. Só que isso é pouco flexível porque vocÊ pode ter que fazer isso pra diversos clientes (e todos eles podem ter ips diferentes - teria que fazer o build pra cada cliente).

Não entendi muito bem, mas… Se você usa MySQL, é só rodar o servidor (mysqld) e deixar rodando ali.

Pra backup, você pode usar o mysql-dump. Se quiser fazer de dentro da aplicação que você criou, usa uma api de arquivos (IOUtils, File, InputReader…) que copia a base e dá um novo nome. É um jeito precário e, provavelmente, bem lento de fazer… Eu iria de mysql-dump (mesmo tendo que usar a linha de comando por meio do Java - é bem simples e mais rápido).

G

Então, a aplicação é stand-alone, eu estava procurando justamente pela melhor maneira de deixar o BD rodando, vou tentar usar essas dicas que você me deu pra fazê-lo rodar e vou tentar usar o mysql-dump pra fazer o backup, apesar de não conhecer a ferramenta, mas vou tentar ler alguma coisa sobre ela, vou fazer isso amanhã porque estou sem internet no PC, estou usando o PC de um amigo.

Obrigado pelas respostas, vou postar aqui o resultado.

G

Só a nível de informação…

Existe como pelo Java eu copiar a database .sql? Se sim, como eu deveria fazer?

Criado 13 de setembro de 2010
Ultima resposta 13 de set. de 2010
Respostas 3
Participantes 2